10个Python函数让你的编程更快
1. zip()
这个函数是一个实用工具,可以将多个列表合并成一个。
例如,如果你想将A = [1,2,3]和B = ['a','b','c']合并为[(1,'a'),(2,'b'),(3,'c')],则可以使用以下代码:
A = [1,2,3]
B = ['a','b','c']
C = list(zip(A,B))
print(C)
输出结果:[(1, 'a'), (2, 'b'), (3, 'c')]
2. map()
这个函数可以将一个函数应用于一个可迭代对象中的所有元素,并返回新的列表。
例如,如果你想将列表A = [1,2,3]中的每个元素都加3,则可以使用以下代码:
A = [1,2,3]
B = list(map(lambda x:x+3, A))
print(B)
输出结果:[4, 5, 6]
3. filter()
这个函数可以过滤出符合要求的元素,并返回新的列表。
例如,如果你想从列表A = [1,2,3,4,5,6]中筛选出所有的偶数,则可以使用以下代码:
A = [1,2,3,4,5,6]
B = list(filter(lambda x:x%2==0, A))
print(B)
输出结果:[2, 4, 6]
4. reduce()
这个函数可以将一个函数应用于一个可迭代对象中的所有元素,并返回一个单一的结果。
例如,如果你想计算列表A = [1,2,3,4,5,6]中所有元素的和,则可以使用以下代码:
from functools import reduce
A = [1,2,3,4,5,6]
B = reduce(lambda x,y:x+y, A)
print(B)
输出结果:21
5. enumerate()
这个函数可以将一个可迭代对象中的每个元素与其索引一起返回,并返回一个可迭代的枚举对象。
例如,如果你想打印列表A = ['a','b','c','d']中每个元素的索引和元素本身,则可以使用以下代码:
A = ['a','b','c','d']
for i, a in enumerate(A):
print(i,a)
输出结果:
0 a
1 b
2 c
3 d
6. sorted()
这个函数可以对一个可迭代对象进行排序,并返回新的排序后的列表。
例如,如果你想将列表A = [3,2,1,4,5]进行从小到大的排序,则可以使用以下代码:
A = [3,2,1,4,5]
B = sorted(A)
print(B)
输出结果:[1, 2, 3, 4, 5]
7. reversed()
这个函数可以将一个可迭代对象反向排序,并返回一个逆序的迭代器对象。
例如,如果你想将列表A = [1,2,3,4,5]反向排序,则可以使用以下代码:
A = [1,2,3,4,5]
B = list(reversed(A))
print(B)
输出结果:[5, 4, 3, 2, 1]
8. zip_longest()
这个函数可以将多个可迭代对象合并成一个,如果某个迭代器中的元素数量比其他迭代器少,则可以使用给定的fillvalue填充。
例如,如果你想将列表A = [1,2,3]和B = ['a','b']合并为[(1,'a'),(2,'b'),(3,None)],则可以使用以下代码:
from itertools import zip_longest
A = [1,2,3]
B = ['a','b']
C = list(zip_longest(A,B))
print(C)
输出结果:[(1, 'a'), (2, 'b'), (3, None)]
9. all()
这个函数可以判断一个迭代器中的所有元素是否都为True。
例如,如果你想判断列表A = [True,False,True]中的所有元素是否都为True,则可以使用以下代码:
A = [True,False,True]
B = all(A)
print(B)
输出结果:False
10. any()
这个函数可以判断一个迭代器中是否存在至少一个元素为True。
例如,如果你想判断列表A = [True,False,True]中是否存在至少一个元素为True,则可以使用以下代码:
A = [True,False,True]
B = any(A)
print(B)
输出结果:True
