dict 类型的迭代
因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样。
默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values() ,如果要同时迭代key和value,可以用for k, v in d.items() 。
由于字符串也是可迭代对象,因此,也可以作用于for 循环:
>>> for ch in 'ABC':
... print(ch)
...
A
B
C
所以,当我们使用for 循环时,只要作用于一个可迭代对象,for 循环就可以正常运行,而我们不太关心该对象究竟是list还是其他数据类型。
那么,如何判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断:
最后一个小问题,如果要对list实现类似Java那样的下标循环怎么办?Python内置的enumerate 函数可以把一个list变成索引-元素对,这样就可以在for 循环中同时迭代索引和元素本身:
>>> for i, value in enumerate(['A', 'B', 'C']):
... print(i, value)
...
0 A
1 B
2 C
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317793224211f408912d9c04f2eac4d2af0d5d3d7b2000
|