Date: 2019-1-4
iterable-----可迭代对象 list,str,dic,turple.....
其中,dic默认迭代的是key ---for key in dic 即可
若要迭代value ,需要 for value in dic.values()
若要同时迭代key 和 value,需要 for key,value in dic.items() ## 注意dic 中键值对并不是像list那样顺序存储的
××××× python内置enumerate() 方法 可以将一个list 转化成 索引-元素 的形式,然后将其存入字典中,以完成相关数据的处理
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
对列表而言:
return a element of the list with a index
>>> list = [1,2,3,4,5,6,7,8,9]
>>> for i,v in enumerate(list):
... print(i,v)
...
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
对字符串而言:
>>> s = "1234567890qwertyuiop"
>>> for i,v in enumerate(s):
... print(i,v)
...
(0, '1')
(1, '2')
(2, '3')
(3, '4')
(4, '5')
(5, '6')
(6, '7')
(7, '8')
(8, '9')
(9, '0')
(10, 'q')
(11, 'w')
(12, 'e')
(13, 'r')
(14, 't')
(15, 'y')
(16, 'u')
(17, 'i')
(18, 'o')
(19, 'p')
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
对文件而言:
return a list of every line of the file with index
示例代码:
rcg = open("201809152250-YuShan_NB_1-vs-CYRUS2018_0.rcl","r")
for (i,v) in enumerate(rcg):
print(v)
运行结果:
5999,0 Recv CYRUS2018_1: (turn 0)(turn_neck 0)
5999,0 Recv YuShan_NB_1: (turn 0)(turn_neck 2)
5999,0 Recv YuShan_NB_9: (turn -116.157)(turn_neck 37)(attentionto our 5)
5999,0 Recv CYRUS2018_4: (turn 0.078)(turn_neck 0)(attentionto our 11)
5999,0 Recv CYRUS2018_11: (turn -93.35)(turn_neck 68)
5999,0 Recv CYRUS2018_5: (dash 89.827)(turn_neck -123)(say "RfDaEQa(2x")
6000,0 (referee time_up)
6000,0 (referee time_over)