Python for Data Analysis (7)

enumerate

它可以逐个返回序列的(i,vlue)元组,可以用于映射其所在位置的字典

#语法
for i, value in enumerate(collection):
    #用value做一些事情
list1=['foo','too','foor']
for i,value in enumerate(list1):
    print i,value
0 foo
1 too
2 foor
mapping_dict=dict((i,v) for i, v in enumerate(list1))
mapping_dict
{0: 'foo', 1: 'too', 2: 'foor'}

sort and set

list2=['we are the family!']
set(list2)
{' ', '!', 'a', 'e', 'f', 'h', 'i', 'l', 'm', 'r', 't', 'w', 'y'}
#只有直接把字符串放入这个set()中才有这个效果,如果写list2是一个list,不可以拆分
sorted(set('we are the family!'))
[' ', '!', 'a', 'e', 'f', 'h', 'i', 'l', 'm', 'r', 't', 'w', 'y']

zip

用于多个序列(列表、元组)中的元素“一一配对”,从而产生一个新的元组列表:

list3=['one','two','three']
list4=[True,False]
#说明最终得到的元组由最短的序列决定
zip(list1,list3,list4)
[('foo', 'one', True), ('too', 'two', False)]
#zip有一个常用的用法就是和enumerate一起使用:
for i,(a,b)in enumerate(zip(list1,list3)):
    print i,a,b
0 foo one
1 too two
2 foor three
list5=zip(list1,list3,list4)
#unzip,解压
value1,value2,value3=zip(*list5)
print value1
#这里的*号,相当于:
#zip(seq[0],seq[1],seq[2],...,seq[len(seq)-1])
('foo', 'too')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值