欢迎访问宙启技术站
智能推送

10个Python函数让你的编程更快

发布时间:2023-06-10 03:16:05

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