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

十个Python函数,以提高程序效率

发布时间:2023-06-23 14:18:44

Python是一种高级编程语言,它拥有许多内置的函数和模块,可以大大提高程序的效率。以下是十个Python函数及其使用方法,可以帮助提高程序效率。

1. map()函数

map()函数将一个函数应用到一个列表或元组中的每个元素,并返回一个新的可迭代对象。

例如,假设有一个列表,需要对列表中的每个元素进行平方操作:

a = [1, 2, 3, 4, 5]
squared = map(lambda x: x**2, a)
print(list(squared))

输出:[1, 4, 9, 16, 25]

2. filter()函数

filter()函数接受一个函数和一个序列,返回一个迭代器,其中包含满足条件的元素。

例如,假设要从一个列表中过滤掉所有的偶数:

a = [1, 2, 3, 4, 5]
even = filter(lambda x: x%2==0, a)
print(list(even))

输出:[2, 4]

3. reduce()函数

reduce()函数将一个序列中的所有元素进行合并,在每个元素之间使用一个指定的函数。返回一个单一的值。

例如,假设需要对一个列表中的所有元素进行加和:

from functools import reduce
a = [1, 2, 3, 4, 5]
summed = reduce(lambda x, y: x+y, a)
print(summed)

输出:15

4. map()和filter()的结合使用

map()和filter()可以结合使用,以同时应用和过滤函数,以及提高代码复用性。

例如,假设需要将一个列表中的偶数平方,并仅保留其中小于10的元素:

a = [1, 2, 3, 4, 5]
squared_and_filtered = filter(lambda x: x<10, map(lambda x: x**2, filter(lambda x: x%2==0, a)))
print(list(squared_and_filtered))

输出:[4, 16]

5. sorted()函数

sorted()函数返回一个排序后的列表,可以对任何可迭代对象进行排序。

例如,假设需要对一个列表进行从小到大的排序:

a = [5, 2, 4, 1, 3]
sorted_list = sorted(a)
print(sorted_list)

输出:[1, 2, 3, 4, 5]

6. dict()函数

dict()函数用于创建一个字典,可以通过传递键值对列表或其他字典来初始化。

例如,假设需要创建一个包含两个键值对的字典:

d = dict([('a', 1), ('b', 2)])
print(d)

输出:{'a': 1, 'b': 2}

7. zip()函数

zip()函数将多个列表或迭代器组合在一起,返回一个元组的列表。

例如,假设有两个列表,需要将它们合并成一个元组的列表:

a = [1, 2, 3]
b = ['a', 'b', 'c']
zipped = zip(a, b)
print(list(zipped))

输出:[(1, 'a'), (2, 'b'), (3, 'c')]

8. enumerate()函数

enumerate()函数用于将一个可迭代对象转换成一个枚举对象,其中包含索引和元素。

例如,假设有一个列表,需要同时迭代元素以及其索引:

a = ['a', 'b', 'c']
for i, x in enumerate(a):
    print(i, x)

输出:

0 a
1 b
2 c

9. isinstance()函数

isinstance()函数用于检查一个对象是否是某个类的实例。

例如,假设需要检查一个变量是否为列表类型:

a = [1, 2, 3]
if isinstance(a, list):
    print("a is a list")
else:
    print("a is not a list")

输出:a is a list

10. locals()和globals()函数

locals()返回当前作用域中的所有局部变量和它们的值,globals()返回全局变量和它们的值。

例如,假设需要查看当前作用域中的变量:

def foo():
    x = 1
    y = 2
    print(locals())
    
foo()

输出:{'x': 1, 'y': 2}