Как распечатать пары ключ-значение словаря в python
Я хочу вывести мои пары ключевых значений из словаря python как таковые:
key1 t value1
key2 t value2
Я думал, что я мог бы сделать это так:
for i in d:
print d.keys(i), d.values(i)
но очевидно, что это не так, как это происходит keys() и values() не принимайте аргумент...
спасибо.
8 ответов:
ваш существующий код просто нуждается в небольшой настройке.
iи ключ, так что вам просто нужно будет использовать его:for i in d: print i, d[i]вы также можете получить итератор, который содержит как ключи, так и значения. В Python 2,
d.items()возвращает список (ключ, значение) кортежей, в то время какd.iteritems()возвращает итератор, который обеспечивает то же самое:for k, v in d.iteritems(): print k, vВ Python 3,
d.items()возвращает итератор; чтобы получить список, вам нужно передать итератор вlist()себе.for k, v in d.items(): print(k, v)
небольшое вступление к словарю
d={'a':'apple','b':'ball'} d.keys() # displays all keys in list ['a','b'] d.values() # displays you values in list ['apple','ball'] d.items() # displays you pair tuple of key and value [('a','apple'),('b','ball')печать ключей, значения метод один
for x in d.keys(): print x +" => " + d[x]другой способ
for key,value in d.items(): print key + " => " + valueвы можете получить ключи, с помощью
iter>>> list(iter(d)) ['a', 'b']вы можете получить значение ключа в словаре, используя
get(key, [value]):d.get('a') 'apple'если ключ отсутствует в словаре, то при заданном значении по умолчанию будет возвращено значение.
d.get('c', 'Cat') 'Cat'
Если вы хотите вроде выход по ключу dict вы можете использовать коллекция.
import collections for k, v in collections.OrderedDict(sorted(d.items())).items(): print(k, v)он работает на python 3
В дополнение к уже упомянутым.. можно использовать 'viewitems',' viewkeys','viewvalues'
>>> d = {320: 1, 321: 0, 322: 3} >>> list(d.viewitems()) [(320, 1), (321, 0), (322, 3)] >>> list(d.viewkeys()) [320, 321, 322] >>> list(d.viewvalues()) [1, 0, 3]или
>>> list(d.iteritems()) [(320, 1), (321, 0), (322, 3)] >>> list(d.iterkeys()) [320, 321, 322] >>> list(d.itervalues()) [1, 0, 3]или с помощью itemgetter
>>> from operator import itemgetter >>> map(itemgetter(0), dd.items()) #### for keys ['323', '332'] >>> map(itemgetter(1), dd.items()) #### for values ['3323', 232]
вы можете получить доступ к своим ключам и / или значениям, позвонив items () в вашем словаре.
for key, value in d.iteritems(): print(key, value)
Comments