map(function, iterable, *iterables)
返回一个将
function
应用于
iterable
的每一项,并产生其结果的迭代器。如果传入了额外的
iterables
参数,则
function
必须接受相同个数的参数并被用于到从所有可迭代对象中并行获取的项。当有多
个可迭代对象时,当最短的可迭代对象耗尽则整个迭代将会停止。对于函数的输入已经是参数元组
的情况,
- function:要应用的函数。
- iterable:一个或多个可迭代对象,如列表、元组、字典等。
返回值
返回一个迭代器,该迭代器生成对每个输入元素应用 function
后的结果。
def square(x):
return x * x
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers)) # 输出:[1, 4, 9, 16, 25]
max(arg1, arg2, *args, key=None)
返回可迭代对象中最大的元素,或者返回两个及以上实参中最大的。
如果只提供了一个位置参数,它必须是非空
iterable
,返回可迭代对象中最大的元素;如果提供了两
个及以上的位置参数,则返回最大的位置参数。
有两个可选只能用关键字的实参。
key
实参指定排序函数用的参数,如传给
list.sort()
的。
default
实参是当可迭代对象为空时返回的值。如果可迭代对象为空,并且没有给
default
,则会触
发
ValueError
。
如 果 有 多 个 最 大 元 素, 则 此 函 数 将 返 回 第 一 个 找 到 的。 这 和 其 他 稳 定 排 序 工 具
如
sorted(iterable, key=keyfunc, reverse=True)[0]
和
heapq.nlargest(1, iterable, key=keyfunc) 保持一致
memoryview(obj)
- obj:要创建内存视图的对象,必须是支持缓冲区协议的对象,如
bytes
、bytearray
、array.array
等。 -
返回值
返回一个
memoryview
对象,该对象提供了对原始数据的视图,可以进行读写操作(如果原始对象支持)。
# 使用 bytes 对象
bytes_obj = b"hello"
mv = memoryview(bytes_obj)
print(mv) # 输出:<memory at 0x...>
print(mv.tobytes()) # 输出:b'hello'
# 使用 bytearray 对象
bytearray_obj = bytearray(b"hello")
mv = memoryview(bytearray_obj)
mv[0] = ord('H') # 修改第一个字符为 'H'
print(bytearray_obj) # 输出:bytearray(b'Hello')
min(iterable, *, key=None)
min(iterable, *, default, key=None)
min(arg1, arg2, *args, key=None)
返回可迭代对象中最小的元素,或者返回两个及以上实参中最小的。
如果只提供了一个位置参数,它必须是
iterable
,返回可迭代对象中最小的元素;如果提供了两个及
以上的位置参数,则返回最小的位置参数。
有两个可选只能用关键字的实参。
key
实参指定排序函数用的参数,如传给
list.sort()
的。
default
实参是当可迭代对象为空时返回的值。如果可迭代对象为空,并且没有给
default
,则会触
发
ValueError
。
如 果 有 多 个 最 小 元 素, 则 此 函 数 将 返 回 第 一 个 找 到 的。 这 和 其 他 稳 定 排 序 工 具 如
sorted(iterable, key=keyfunc)[0]
和
heapq.nsmallest(1, iterable, key=keyfunc)
保
持一致。