Python for Data Analysis (7)

来源:互联网 发布:淘宝倒卖别人家东西 编辑:程序博客网 时间:2024/06/05 11:25

enumerate

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

#语法for i, value in enumerate(collection):    #用value做一些事情
list1=['foo','too','foor']for i,value in enumerate(list1):    print i,value
0 foo1 too2 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 one1 too two2 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
原创粉丝点击