В приведенном ниже коде Python я динамически создаю списки.Динамические списки Python
g['quest_{0}'.format(random(x))] = []
где random(x)
случайное число, как распечатать список (получить имя динамически созданного имя списка?)
В приведенном ниже коде Python я динамически создаю списки.Динамические списки Python
g['quest_{0}'.format(random(x))] = []
где random(x)
случайное число, как распечатать список (получить имя динамически созданного имя списка?)
Чтобы получить список всех ключей словаря:
list(g.keys())
Там нет ничего другого с обычным словарем, потому что вы генерировать ключ динамически.
Обратите внимание, что вы также можете поместить любой тип hashable объекта в качестве ключа, например, кортеж:
g[('quest', random(x))] = []
Который позволит вам получить список всех номеров квестов легко:
[number for tag, number in g.keys() if tag == "quest"]
с помощью этой техники, вы можете фактически цикл по тегу («квест»), количество и значение в одном цикле:
for (tag, number), value in g.items():
# do somthing
Распаковка - ваш лучший друг в Python.
'list (g.keys)' должен быть 'list (g.keys())' или 'list (g)'. 'keys()' не требуется, потому что словари являются итерабельными и дают ключи, когда они повторяются. – falsetru
Спасибо, опечатка. Исправлена. –
Вы можете перебрать g
словаря с цикл, как это
for key, value in g.items():
print key, value
Это напечатает все ключи и их соответствующие списки.
Сохраните случайное число (или весь ключ) в переменной сначала? –
Это не список, это словарь списков. –