>>> x = [1, 2, 3, 'p' , 'y']
>>> for v in x:
... print(x)
...
1
2
3
p
y
>>> y = {'a':11, 'b':22}
>>> y
{'b': 22, 'a': 11}
>>> for v in y:
... print(v)
...
b
a
>>> for v in y.keys():
... print(v)
...
b
a
>>> for v in y.values():
... print(v)
...
22
11
>>> for v in y.items():
... print(v)
...
('b', 22)
('a', 11)
2、同時遍歷多個容器
>>> x
[1, 2, 3]
>>> y
{'c', 'b', 'a'}
>>> for i, j in zip(x, y): # 用i,j分別遍歷容器x和y中的元素,一旦其中某個容器遍歷結束循環終止。
... print(i, j)
...
1 c
2 b
3 a
>>> z = (5, 6, 7)
>>> for i,j,k in zip(x,y,z): # 同時遍歷三個容器
... print(i, j, k)
...
1 c 5
2 b 6
3 a 7
3、循環技巧
獲取 1-10的逆序序列
>>> for i in reversed(range(10)):
... print(i+1, end = ' ')
...
10 9 8 7 6 5 4 3 2 1
獲取有序的字符序列
>>> for c in sorted('hello world'):
... print(c, end = ' ')
...
d e h l l l o o r w
去除重複數據
>>> for x in set([1,1,2,2,2,3,3]):
... print(x, end = ' ')
...
1 2 3
4、遍歷技巧
遍歷矩陣是常見的操作,包括逐行遍歷和逐列遍歷,下面是一個二維矩陣的遍歷:
>>> x = [[1,2,3], [4,5,6], [7,8,9]]
直接訪問矩陣元素
>>> for row in x:
... for e in row:
... print(e, end=' ')
...
1 2 3 4 5 6 7 8 9
根據索引訪問
>>> for i in range(len(x)):
... for j in range(len(x[0])):
... print(x[i][j], end=' ')
...
1 2 3 4 5 6 7 8 9 >>>
>>> word = ['a', 'b', 'c']
>>> for v in word[:]:
... word.append('q')
...
>>> word
['a', 'b', 'c', 'q', 'q', 'q']
參考:
[1] Python3.4 幫助文檔
https://docs.python.org/3/tutorial/datastructures.html#tuples-and-sequences