Ошибка в словаре Python

Вы также можете использовать option_context с одним или несколькими параметрами:

with pd.option_context('display.max_rows', None, 'display.max_columns', 3):
    print(df)

Это автоматически вернет параметры к их предыдущим значениям.

Дополнение: Если вы работаете над jupyter-notebook, использование display вместо print будет использовать богатую логику отображения jupyter.

0
задан Hulk 2 August 2010 в 05:24
поделиться

2 ответа

Это действительно запрещено. Более того, вам действительно не нужен цикл по всем ключам здесь, учитывая, что словари со странными названиями кажутся одним dict; вместо для k в словарях: (или работоспособного для k в dictionaries.keys () , который предлагает ответ @ Triptych), вы можете использовать ...:

    tp = dictionaries.get('*TYPE')
    if tp is not None:
      """ Here we determine the type """
      if tp.lower() == 'name':
        dictionaries.update({"type" : 0})
        func = name(dictionaries)
      elif tp.lower() == "ma":
        dictionaries.update({"type" : 1})
        func = DCC(dictionaries)
        logging.debug(type(func))

This будет намного быстрее, если словари будут иметь значительную длину, поскольку вы обращаетесь непосредственно к одной записи, которая вам нужна, вместо того, чтобы перебирать все записи, чтобы проверить каждую из них, чтобы увидеть, есть ли это тот, о котором вы заботитесь.

Даже если вы решили опустить часть кода, так что после этого запуска цикл для словарей будет все еще необходим, я думаю, что мое предложение все же предпочтительнее, потому что оно позволяет вам вносить любые изменения в словари , готово и снова (при условии, конечно, что вы не продолжаете изменять его в гипотетической части вашего кода, я думаю, вы, возможно, решили пропустить ;-).

3
ответ дан 4 September 2019 в 00:47
поделиться

Эта ошибка довольно информативна; вы не можете изменить размер словаря, который вы просматриваете в данный момент.

Решение состоит в том, чтобы получить все ключи сразу и перебрать их:

# Do this
for k in dictionaries.keys():

# Not this
for k in dictionaries:
3
ответ дан 4 September 2019 в 00:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: