Ответ 1
Вы должны перебирать клавиши с помощью:
for key in mydictionary:
print "key: %s , value: %s" % (key, mydictionary[key])
Извините за этот базовый вопрос, но мои поиски по этому поводу не открывают ничего, кроме того, как получить ключ словаря на основе его значения, которое я бы предпочел не использовать, поскольку мне просто нужен текст/имя ключа и am опасается, что поиск по значению может привести к возврату 2 или более ключей, если словарь содержит много записей... что я пытаюсь сделать, это следующее:
mydictionary={'keyname':'somevalue'}
for current in mydictionary:
result = mydictionary.(some_function_to_get_key_name)[current]
print result
"keyname"
Причиной этого является то, что я печатаю их в документе, и я хочу использовать имя ключа и значение при этом
Я видел метод ниже, но это, похоже, просто возвращает значение ключа
get(key[, default])
Вы должны перебирать клавиши с помощью:
for key in mydictionary:
print "key: %s , value: %s" % (key, mydictionary[key])
Если вы хотите напечатать ключ и значение, используйте следующее:
for key, value in my_dict.iteritems():
print key, value
Причиной этого является то, что я печатаю их в документе, и я хочу использовать имя ключа и значение при этом
Основываясь на вышеуказанном требовании, я предлагаю следующее:
keys = mydictionary.keys()
keys.sort()
for each in keys:
print "%s: %s" % (each, mydictionary.get(each))
Если словарь содержит одну пару, например:
d = {'age':24}
то вы можете получить как
field, value = d.items()[0]
keys=[i for i in mydictionary.keys()]
или
keys = list(mydictionary.keys())
Проще всего:
mydictionary={'keyname':'somevalue'}
result = mydictionary.popitem()[0]
Вы будете использовать словарь и должны сделать его копию
Итерация по словарю (i) вернет ключ, а затем, используя его (i), чтобы получить значение
for i in D:
print "key: %s, value: %s" % (i, D[i])
Для python 3 Если вы хотите использовать только ключи, используйте это. Замените печать (ключ) печатью (значениями), если вы хотите значения.
for key,value in my_dict:
print(key)
То, что я иногда делаю, я создаю еще один словарь, чтобы быть в состоянии, насколько мне кажется, мне нужно получить доступ как строку. Затем я перебираю несколько словарей, соответствующих ключам для сборки, например. таблицу с первым столбцом в качестве описания.
dict_names = {'key1': 'Text 1', 'key2': 'Text 2'}
dict_values = {'key1': 0, 'key2': 1}
for key, value in dict_names.items():
print('{0} {1}'.format(dict_names[key], dict_values[key])
Вы можете легко сделать для огромного количества словарей соответствие данных (мне нравится тот факт, что со словарем вы всегда можете ссылаться на то, что хорошо известно как имя ключа)
yes Я использую словари для хранения результатов функций, поэтому мне не нужно запускать эти функции каждый раз, когда я их вызываю только один раз, а затем получаю доступ к результатам в любое время.
EDIT: в моем примере ключевое имя действительно не имеет значения (мне лично нравится использовать те же ключевые имена, что и проще выбрать одно из моих соответствующих словарей), просто убедитесь, что количество ключей в каждый словарь является одним и тем же