python——迭代
迭代
1. 如果给定一个list或tuple,我们可以用for循环来遍历这个list或tuple,这种遍历称为迭代(iteration)
2. 在python中,迭代是通过 for ... in ... 来实现的,在Java或C中,迭代通过 for(i=0;i<=list.length;i++){x=list[i];}来实现的,需要用到迭代对象的下标
3. 在python中,迭代对象不需要用到下标,只要是可迭代对象,无论有无下标,都可迭代
迭代一个list:
>>> for x in [0,1,2,3,4,5]:
print(x)
0
1
2
3
4
5
迭代一个字符串:
#在这里,x表示字符串里的单个字符,也可以用y,z等表示字符串里的字符
>>> for x in 'abcde':
print(x)
a
b
c
d
e
迭代一个dict:
#先定义一个dict
>>> d={'a':1,'b':2,'c':3}
#默认情况下,迭代的是d中的key
>>> for key in d:
print(key)
a
b
c
#迭代d中的value
>>> for value in d.values():
print(value)
1
2
3
#迭代d中的key和value
>>> for k,v in d.items():
print(k,v)
a 1
b 2
c 3
4. 怎样判断一个对象是不是可迭代对象:
通过collections模块中的Iterable类型判断
如:
>>> from collections import Iterable
>>> isinstance('abc', Iterable) # str是否可迭代
True
>>> isinstance([1,2,3], Iterable) # list是否可迭代
True
>>> isinstance(123, Iterable) # 整数是否可迭代
False
5.实现下标循环,可用python中内置的 enumerate 函数,把一个list变成 索引-元素对
如:
>>> for i,value in enumerate(['a','b','c']):
print(i,value)
0 a
1 b
2 c
6. for循环中同时引入两个变量
>>> for x,y in [(1,1),(2,2),(3,3)]:
print(x,y)
1 1
2 2
3 3