Collectives™ on Stack Overflow
Find centralized, trusted content and collaborate around the technologies you use most.
Learn more about Collectives
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Learn more about Teams
Python 3
d.items()
returns the iterator; to get a list, you need to pass the iterator to
list()
yourself.
for k, v in d.items():
print(k, v)
Python 2
You can get an iterator that contains both keys and values. d.items()
returns a list of (key, value) tuples, while d.iteritems()
returns an iterator that provides the same:
for k, v in d.iteritems():
print k, v
A little intro to dictionary
d={'a':'apple','b':'ball'}
d.keys() # displays all keys in list
['a','b']
d.values() # displays your values in list
['apple','ball']
d.items() # displays your pair tuple of key and value
[('a','apple'),('b','ball')
Print keys,values method one
for x in d.keys():
print(x +" => " + d[x])
Another method
for key,value in d.items():
print(key + " => " + value)
You can get keys using iter
>>> list(iter(d))
['a', 'b']
You can get value of key of dictionary using get(key, [value])
:
d.get('a')
'apple'
If key is not present in dictionary,when default value given, will return value.
d.get('c', 'Cat')
'Cat'
–
–
–
–
You can access your keys and/or values by calling items() on your dictionary.
for key, value in d.iteritems():
print(key, value)
–
–
If you want to sort the output by dict key you can use the collection package.
import collections
for k, v in collections.OrderedDict(sorted(d.items())).items():
print(k, v)
It works on python 3
In addition to ways already mentioned.. can use '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]
or using itemgetter
>>> from operator import itemgetter
>>> map(itemgetter(0), dd.items()) #### for keys
['323', '332']
>>> map(itemgetter(1), dd.items()) #### for values
['3323', 232]
–
To print a specific (key, value) pair in Python 3 (pair at index 1 in this example):
for e in range(len(x)):
print(([x for x in x.keys()][e], [x for x in x.values()][e]))
Output:
('X', 'yes')
('Y', 'no')
('Z', 'ok')
Here is a one liner solution to print all pairs in a tuple:
print(tuple(([x for x in x.keys()][i], [x for x in x.values()][i]) for i in range(len(x))))
Output:
(('X', 'yes'), ('Y', 'no'), ('Z', 'ok'))
'lebron': 'lakers', - Lebron is key and lakers is value
for loop - specify key, value in dictionary.item():
Now Print (Player Name is the leader of club).
the Output is:
#Lebron is the leader of lakers
#Giannis is the leader of milwakee bucks
#Durant is the leader of brooklyn nets
#Kawhi is the leader of clippers
If you're looking for pretty-printing a dictionary, check out Rich:
from rich import print
prices = {
"banana": 4,
"apple": 2,
"orange": 1.5,
"pear": 3,
"strawberry": 1,
"blueberry": 0.5,
"mango": 4.5
print(prices)