对python enumerate方法的理解--数据分析,数据挖掘中遇到的问题

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)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值