电商创业新手怎么做,长沙seo外包优化,建设网站比较好的公司,wordpress 通用代码 网页如果给定一个list或tuple#xff0c;我们可以通过for循环来遍历这个list或tuple#xff0c;这种遍历我们称为迭代#xff08;Iteration#xff09;。
在Python中#xff0c;迭代是通过for ... in来完成的#xff0c;而很多语言比如C语言#xff0c;迭代list是通过下标完… 如果给定一个list或tuple我们可以通过for循环来遍历这个list或tuple这种遍历我们称为迭代Iteration。
在Python中迭代是通过for ... in来完成的而很多语言比如C语言迭代list是通过下标完成的比如Java代码 for (i0; ilist.length; i) {n list[i];
} 可以看出Python的for循环抽象程度要高于C的for循环因为Python的for循环不仅可以用在list或tuple上还可以作用在其他可迭代对象上。
list这种数据类型虽然有下标但很多其他数据类型是没有下标的但是只要是可迭代对象无论有无下标都可以迭代比如dict就可以迭代 d {a: 1, b: 2, c: 3}for key in d:
... print(key)
...
a
c
b 因为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类型判断 from collections import Iterableisinstance(abc, Iterable) # str是否可迭代
Trueisinstance([1,2,3], Iterable) # list是否可迭代
Trueisinstance(123, Iterable) # 整数是否可迭代
False 最后一个小问题如果要对list实现类似Java那样的下标循环怎么办Python内置的enumerate函数可以把一个list变成索引-元素对这样就可以在for循环中同时迭代索引和元素本身 for i, value in enumerate([A, B, C]):
... print(i, value)
...
0 A
1 B
2 C