您的位置:首页 > 编程语言 > Python开发

Python for Data Analysis (7)

2016-09-16 09:50 405 查看

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')



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python