5个独特的Python函数
学习这些适用于列表的Python函数
函数是一些操作的预定义代码,在Python编程中发挥着重要作用。在这篇文章中,了解一些能让你与列表一起工作的函数。学习在Python中使用列表或迭代器是至关重要的。这里有几个函数可以让你这样做。
1.1. accumulate
accumulate 函数处理一个像字典、列表或图元一样的可迭代对象。当你需要每次迭代的中间步骤值时,可以使用这个函数。为了更好地理解,请看下图;它展示了 accumulate 函数的工作情况。
Syntax: itertools.accumulate(iterable[, function, initializer])
代码。
from itertools import accumulatelist1 = [1,2,3,4,5]def function(x, y): return x+yprint(list(accumulate(list1,function)))
运行
- 为了理解 accumulate ( ) 函数的工作,我们有一个基本程序,其中我们从 itertools 模块中导入了 accumulate。
- 在这个程序中,我们考虑了一个简单的列表和一个求和函数。
- 第一步从列表中返回一个 1 的值。
- 接下来的步骤将返回值与列表中的下一个值相加,形成3、6、10和15的值。
- 经过所有的迭代,形成一个新的列表[ 1, 3, 6, 10, 15],这是输出。
2.2. 枚举。
Enumerate是一个内置函数,它在不使用任何循环的情况下为可迭代的列表添加一个计数器。一个列表被转换为一个带有索引和值对的对象。请看下图,该图展示了枚举函数的工作原理。
Syntax: enumerate(iterable, start)
代码。
list1 = ['A', 'B', 'C', 'D', 'E']object1 = enumerate(list1)print(list(object1))
运行。
- 枚举函数将一个计数器添加到一个可迭代的对象中。我们有一个程序来理解这个函数。
- Enumerate函数将一个列表变成一个对象。
- 该对象由一个列表对组成;每个对由索引值和其列表元素组成。
- 你可以指定起始索引值,或者默认情况下,从零开始。
3.Reduce( )
Reduce是一个对所有列表元素进行相同操作的函数,并在所有迭代后最终返回一个单一元素。为了更好地理解,请看下图。它展示了 reduce( )函数的工作情况。
Syntax: reduce(function,sequence)
代码。
import functoolsdef sum(a,b): return a+bnumbers = [1,2,3,4,5]result = functools.reduce(sum, numbers)print(result)
运行
- Reduce函数在一个被称为functools的模块中可用。
- 我们有一个程序来理解 reduce 函数,其中我们考虑了一个简单的列表 [1,2,3,4,5] 和一个添加两个元素的函数。
- 在每一步,它接受两个输入并返回一个元素。
- 而列表的总和将是15的输出。
4.4.Zip
Zip是一个很好的内置函数,对于梳理两个或更多的数据集很有用。这个函数将两个或更多的可迭代数据作为输入,并将其压缩,形成一个图元列表。请看该图,它展示了Zip函数的工作原理。
Syntax:zip(*iterables)
代码
key = ["First_Name", "Last_Name", "Location", "Age"]value = ["Mick", "John", "USA", "40"]user_info = list(zip(key, value))print(user_info)
运行
- 在这个例子中,我们将两个简单的数据集合并,形成另一个数据集。
- Zip函数映射列表并将其变为图元。
- 每一对都是通过索引值从给 zip 函数的列表中得到的。
- 你也可以用同样的zip函数解压缩图元的列表。
5.5.map
Map()是一个内置函数,它将指定的函数应用于可迭代的所有项目。Map可以接受一个迭代器或多个迭代器作为输入。地图对所有元素使用相同的操作,并返回与iterable相同数量的元素。请看下图,它展示了map函数的工作原理。
Syntax: map(function,iterables)
代码
def add_list(a,b): return a+bres = list(map(add_list, [1, 2, 3], [ 4, 5,6]))print(res)
运行
- 我们有一个简单的程序来理解map函数,其中我们考虑了两个列表[1, 2, 3], [ 4, 5, 6]。
- 我们定义了一个函数来添加两个列表中的元素。
- 它的结果是输出 [5,7,9]。