Exercise 34: Accessing Elements Of Lists

自己的几个list常用用法。

mylist = [i for i in range(10)]
mylist.pop(-1)
mylist.append(9)
mylist_1 = [i for i in range(10,20)]
mylist_2 = zip(mylist, mylist_1)
mylist.extend(mylist_1)

不常用的extend(), 里面的对象是list.

filter, map, reduce对于可迭代对象的操作。

filter(bool_func,seq)
 
filter(lambda x : x%2 == 0,[1,2,3,4,5])  
此函数的功能相当于过滤器。调用一个布尔函数bool_func来迭代遍历每个seq中的元素;返回一个使bool_seq返回值为true的元素的序列。
 
map(func,seq1[,seq2...])
 
将函数func作用于给定序列的每个元素,并用一个列表来提供返回值;如果func为None,func表现为身份函数,返回一个含有每个序列中元素集合的n个元组的列表。
 
reduce(func,seq[,init])
func为二元函数,将func作用于seq序列的元素,每次携带一对(先前的结果以及下一个序列的元素),连续的将现有的结果和下一个值作用在获得的随后的结果上,最后减少我们的序列为一个单一的返回值:如果初始值init给定,第一个比较会是init和第一个序列元素而不是序列的头两个元素。
 
zip([iterable, ...])
zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压),看下面
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)

[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)
[(1, 2, 3), (4, 5, 6)]
 
原文地址:https://www.cnblogs.com/hluo/p/4049873.html