Python2 中字典的遍历
例1
d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
for k in d:
print "d[%s] =" % k, d[k]
>>>
d[a] = apple
d[b] = banana
d[c] = cherry
d[d] = durian
例2
items()
会把字典中的键值对组成元组,存放到列表中返回
>>> d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
>>> print d.items()
[('a', 'apple'), ('c', 'cherry'), ('b', 'banana'), ('d', 'durian')]
>>>
例3
d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
for k, v in d.items():
print "d[%s] = %s" % (k, v)
>>>
d[a] = apple
d[b] = banana
d[d] = durian
d[c] = cherry
例4
d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
print d.iteritems() # 返回字典的遍历器对象
for k, v in d.iteritems():
print "d[%s] = %s" % (k, v)
for k, v in zip(d.iterkeys(), d.itervalues()):
print "* d[%s] = %s" % (k, v)
>>>
<dictionary-itemiterator object at 0x00A50B60>
d[a] = apple
d[b] = banana
d[d] = durian
d[c] = cherry
* d[a] = apple
* d[b] = banana
* d[d] = durian
* d[c] = cherry
Python3 中字典的遍历
例1
d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
for k in d:
print("d[{0}] = {1}".format(k, d[k]))
>>>
d[a] = apple
d[b] = banana
d[c] = cherry
d[d] = durian
例2
>>> d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
>>> print(d.items())
dict_items([('a', 'apple'), ('b', 'banana'), ('c', 'cherry'), ('d', 'durian')])
>>>
例3
d = {"a": "apple", "b": "banana", "c": "cherry", "d": "durian"}
for k, v in d.items():
print("d[{}] = {}".format(k, v))
for k in d.keys():
print("* d[{}] = {}".format(k, d[k]))
for v in d.values():
print(v)
>>>
d[a] = apple
d[b] = banana
d[c] = cherry
d[d] = durian
* d[a] = apple
* d[b] = banana
* d[c] = cherry
* d[d] = durian
apple
banana
cherry
durian
结论
- Python2/3 中的字典都是无序的,Python3 输出字典中的键值对时看起来有一定顺序,特别是数据量小时
- Python2 使用
iteritems()
,iterkeys()
,itervalues()
- Python3 使用
items()
,keys()
,values()
Python2 | Python3 |
---|---|
items() | items() |
iteritems() | items() |
iterkeys() | keys() |
itervalues() | values() |