python中迭代
如果给定一个list或tuple,可以使用for循环来遍历,这种遍历称为迭代(iteration)。python中的迭代是通过for...in 来完成,不仅可迭代list/tuple。还可迭代其他对象。
# 迭代list
>>> l = list(range(10))
>>> for item in l:
... print(item)
# 迭代dict,由于dict的存储不是像list那样顺序存储,所有迭代结果可能不是按顺序的
>>> d = {'a':1, 'b':2}
>>> for key in d: # 默认是迭代的key
... print(key)
...
b
a
>>> for value in d.values(): # 迭代value
... print(value)
...
2
1
>>> for k,v in d.items(): # 迭代key和value
... print(k, v)
...
b 2
a 1
# 迭代字符串
>>> for ch in 'abc':
... print(ch)
...
a
b
c
当使用for时,只要作用与一个迭代对象,就可以正常运行,我们不需要关注迭代对象是list还是其他数据类型。可以通过collections模块的iterable类型判断一个对象是否是可迭代对象:
>>> from collections import iterable
>>> isinstance('abc', iterable) # str类型可迭代
true
>>> isinstance(123, iterable) # 整数不可迭代
false
>>> dict={'a':1}
>>> isinstance(dict, iterable) # dict类型可迭代
true
python内置的enumerate函数可以将list变成索引-元素对。这样可以在for中迭代索引和对象本身:
>>> l = ['a','b','c','d']
>>> for i,value in enumerate(l):
... print(i, value)
...
0 a
1 b
2 c
3 d
推荐阅读
-
2021校友会全国大学排名-2021中国大学排名完整版
-
2021年艾瑞深中国高职院校排行榜-2021年中国职业技术大学排行榜
-
Android studio中IDE窗口怎么显示或者隐藏?
-
MATLAB怎么读取excel文件中的数据?
-
“2019中国金指尖奖”隆重揭晓!粉象生活斩获“2019最佳创新电商平台”大奖
-
Android studio中logcat提示信息设置?
-
Solidworks怎么在装配体中打孔? sw装配体中打孔的教程
-
matlab中失误将command窗口关掉了该怎么办?
-
百中搜优化软件怎么样?百中搜优化软件使用教程(附视频教程)
-
Mysql5.7中使用group concat函数数据被截断的问题完美解决方法