Как я могу получить список кортежей с ключом из dict в Python?
Список кортежей из dict в Python
Ответ 1
Только для Python 2.x(спасибо Alex):
yourdict = {}
# ...
items = yourdict.items()
Подробнее см. http://docs.python.org/library/stdtypes.html#dict.items.
Только для Python 3.x(взято из ответ Alex):
yourdict = {}
# ...
items = list(yourdict.items())
Ответ 2
Список кортежей:
my_dict.items()
Если все, что вы делаете, выполняет итерацию по элементам, однако часто предпочтительнее использовать dict.iteritems()
, что более эффективно с точки зрения памяти, поскольку оно возвращает только один элемент за раз, а не все элементы одновременно:
for key,value in my_dict.iteritems():
#do stuff
Ответ 3
В Python 2.*
, thedict.items()
, как в ответе @Andrew. В Python 3.*
, list(thedict.items())
(так как там items
- это просто итеративный вид, а не список, вам нужно называть list
на нем явно, если вам нужен именно список).
Ответ 4
Преобразование из dict
в list
упрощается в Python. Три примера:
d = {'a': 'Arthur', 'b': 'Belling'}
d.items() [('a', 'Arthur'), ('b', 'Belling')]
d.keys() ['a', 'b']
d.values() ['Arthur', 'Belling']
как показано в предыдущем ответе, Преобразование словаря Python в список.
Ответ 5
Для Python > 2.5:
a = {'1' : 10, '2' : 20 }
list(a.itervalues())