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

函数实例:Python中常见的函数实例(如sorted(),map(),reduce())及其用法

发布时间:2023-06-25 23:33:44

Python中有很多常见的函数实例,这些函数实例可以大大简化我们的编程工作,避免我们重复造轮子。下面,我们将介绍几个常用函数实例及其用法:

1. sorted():排序函数

sorted()函数用于对可迭代对象进行排序,返回排序后的列表或元组。函数签名为sorted(iterable, key=None, reverse=False)。其中:

- iterable:可迭代对象,需要排序的序列,可以是列表、元组、集合等;

- key:排序规则,指定一个函数,用于为每个元素生成一个键,根据这些键进行排序;

- reverse:排序顺序,True表示降序排列,False表示升序排列(默认值)。

示例代码:

lst = [3, 2, 1, 4]
print(sorted(lst))  # 升序排列
print(sorted(lst, reverse=True))  # 降序排列

2. map():映射函数

map()函数用于对可迭代对象中的每个元素进行映射操作,返回一个迭代器。函数签名为map(function, iterable)。其中:

- function:映射函数,接受一个参数并返回转换结果的函数;

- iterable:可迭代对象,需要进行映射操作的序列。

示例代码:

lst = [1, 2, 3, 4]
result = map(lambda x: x * 2, lst)
print(list(result))  # [2, 4, 6, 8]

3. reduce():归约函数

reduce()函数用于对序列中的元素进行归约操作,返回一个值。函数签名为reduce(function, sequence, initial=None)。其中:

- function:归约函数,接受两个参数并返回一个值的函数;

- sequence:序列,用于进行归约操作的序列;

- initial:初始值,作为归约元素的 个元素,如果不指定则默认为序列的 个元素。

示例代码:

from functools import reduce

lst = [1, 2, 3, 4]
result = reduce(lambda x, y: x*y, lst)
print(result)  # 24

4. filter():过滤函数

filter()函数用于对可迭代对象进行过滤操作,返回一个迭代器。函数签名为filter(function, iterable)。其中:

- function:过滤函数,接受一个参数并返回True或False的函数;

- iterable:可迭代对象,需要进行过滤操作的序列。

示例代码:

lst = [1, 2, 3, 4]
result = filter(lambda x: x % 2 == 0, lst)
print(list(result))  # [2, 4]

5. zip():打包函数

zip()函数用于将多个可迭代对象打包成一个元组,返回一个迭代器。函数签名为zip(*iterables)。其中:

- *iterables:可迭代对象,要打包的序列,可以是列表、元组、集合等,可以有多个。

示例代码:

lst1 = [1, 2, 3]
lst2 = ['a', 'b', 'c']
result = zip(lst1, lst2)
print(list(result))  # [(1, 'a'), (2, 'b'), (3, 'c')]

除了以上几个常见的函数实例,Python中还有许多其他有用的函数,比如enumerate()、any()、all()、max()、min()等等,需要根据实际情况选择使用。以上函数实例的用途非常广泛,掌握它们的使用方法可以让我们在编程过程中事半功倍。