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

10个内置函数:Python高阶技巧

发布时间:2023-06-11 14:11:20

Python 是一门非常灵活的编程语言,函数是 Python 最重要的概念之一。Python 内置了许多有用的函数,它们可以加快编程的速度,并让程序更加精简和易于维护。在这篇文章中,我们将探讨 10 个 Python 常用的高阶函数。

1. map() 函数

map() 函数是一个迭代器,它会对可迭代对象的每个元素应用一个函数。例如,以下代码将 list 中的每个元素乘以 2:

my_list = [1,2,3,4]

def multiply_by_2(x):
    return x * 2

result = map(multiply_by_2, my_list)
print(list(result))   # 输出结果: [2, 4, 6, 8]

2. filter() 函数

filter() 函数也是一个迭代器,它筛选出可迭代对象中符合条件的元素。例如,以下代码将 list 中的偶数筛选出来:

my_list = [1,2,3,4]

def is_even(x):
    return x % 2 == 0

result = filter(is_even, my_list)
print(list(result))   # 输出结果: [2, 4]

3. reduce() 函数

reduce() 函数是一个迭代器,它对可迭代对象中的元素应用一个函数,并将结果累加。例如,以下代码将 list 中的所有元素相加:

from functools import reduce

my_list = [1,2,3,4]

def add_numbers(x, y):
    return x + y

result = reduce(add_numbers, my_list)
print(result)   # 输出结果: 10

4. lambda 表达式

lambda 表达式是一个匿名函数,它只存在于一行代码中,并且返回一个单一的结果。例如,以下代码将 list 中的每个元素乘以 2:

my_list = [1,2,3,4]

result = map(lambda x: x * 2, my_list)
print(list(result))   # 输出结果: [2, 4, 6, 8]

5. zip() 函数

zip() 函数可以将多个可迭代对象压缩成一个元组构成的可迭代对象。例如,以下代码将两个 list 压缩在一起:

x_list = [1, 2, 3]
y_list = [4, 5, 6]

result = zip(x_list, y_list)
print(list(result))   # 输出结果: [(1, 4), (2, 5), (3, 6)]

6. enumerate() 函数

enumerate() 函数可以将一个可迭代对象和一个列表中的所有元素配对,并返回它们的编号和值。例如,以下代码将 list 中的每个元素和它们的索引值配对出来:

my_list = ['foo', 'bar', 'baz']

result = enumerate(my_list)
print(list(result))   # 输出结果: [(0, 'foo'), (1, 'bar'), (2, 'baz')]

7. sorted() 函数

sorted() 函数可以对可迭代对象进行排序。例如,以下代码将 list 中的元素从小到大排序:

my_list = [3, 2, 1, 4]

result = sorted(my_list)
print(result)   # 输出结果: [1, 2, 3, 4]

8. any() 函数

any() 函数可以判断可迭代对象是否至少有一个元素为 True。例如,以下代码判断 list 中是否存在任何偶数:

my_list = [1, 3, 5, 6]

result = any(x % 2 == 0 for x in my_list)
print(result)   # 输出结果: True

9. all() 函数

all() 函数可以判断可迭代对象中的所有元素是否均为 True。例如,以下代码判断 list 中是否所有元素都是偶数:

my_list = [2, 4, 6, 8]

result = all(x % 2 == 0 for x in my_list)
print(result)   # 输出结果: True

10. reversed() 函数

reversed() 函数可以返回一个可迭代对象的反转。例如,以下代码将字符串反转:

my_string = 'abcdefg'

result = reversed(my_string)
print(''.join(result))   # 输出结果: 'gfedcba'

总结

Python 的内置函数可以帮助我们编写更高效、更简洁、更易于维护的代码。其中一些函数(如 map()、filter()、reduce())是函数式编程的基础,另外一些函数则可以帮助我们节约大量的时间和努力。在编写 Python 代码时,熟悉这些内置函数并学会灵活应用它们将会带来不小的好处。