python常用的内置函数
简介
python中有一些常见的内置函数,方便了我们进行相关操作,在此进行介绍.
enumerate
enumerate(iterable: Iterable[_T], start: int = ...)
iterable:迭代器
start:索引起始的大小
是将一个迭代器(列表、元组等)转为一个索引序列,方便对序列的索引进行操作。
l = ['huawei', 'oppo', 'xiaomi']
print(list(enumerate(l)))
for index, val in enumerate(l, start=1):
print(index, val)
[(0, 'huawei'), (1, 'oppo'), (2, 'xiaomi')]
1 huawei
2 oppo
3 xiaomi
zip
将多个列表中对应元素打包成元组并放置于一个迭代器中。默认返回zip对象,zip对象也是迭代器。
zip( __iter1: Iterable[_T1], *, strict: bool = ...)
__iter1:迭代器,列表、元组等
strict:3.10以上才会有
l1 = [1,2,3]
l2 = ['a','b','c']
print(zip(l1,l2))
print(isinstance(zip(l1,l2), Iterable))
for item in zip(l1,l2):
print(item)
<zip object at 0x7feeec55aa48>
True
(1, 'a')
(2, 'b')
(3, 'c')
map
将函数作用于某一个序列中的所有元素,并返回一个map对象,map对象也是迭代器。
map(__func: Callable[[_T1], _S], __iter1: Iterable[_T1], *)
__func:作用于序列的函数
__iter1:迭代器,可为多个
import math
l = [1,2,3,4,5,6]
data = map(lambda n:math.sqrt(n), l)
print(data)
print(isinstance(data, Iterable))
for item in data:
print(item)
data = map(lambda m,n:m*n, l, l2)
print(data)
print(isinstance(data, Iterable))
for item in data:
print(item)
<map object at 0x7fcba62a9ef0>
True
1.0
1.4142135623730951
1.7320508075688772
2.0
2.23606797749979
2.449489742783178
<map object at 0x7ff549e7d320>
True
7
16
27
40
55
72
filter
对一个迭代器进行过滤并返回符合条件的filter对象,filter对象是迭代器。
l = [0,1,2,3]
data = filter(lambda n:n>0, l)
print(data)
print(isinstance(data, Iterable))
for item in data:
print(item)
<filter object at 0x7f436d985eb8>
True
1
2
3
reduce
操作一个序列中的多个元素进行累计处理
reduce(function: Callable[[_T, _S], _T], sequence: Iterable[_S])
function:处理的函数
sequence:迭代器,序列
from functools import reduce
l = [1,2,3,4,5,6]
data = reduce(lambda m,n:n*m, l)
print(data)
720
sorted
是可以对一个序列根据key进行排序
python的列表自带一个sort的方法,用于对于列表的排序,无法进行不同数据类型之间的排序, 可以指定排序的规则,也就是key。
list.sort(key: Callable, reverse: bool )
作用于原列表
key:排序规则
reverse: 翻转排序,默认为false,升序, 反之降序
l = [45,2,1,32,36,38]
l.sort()
print(l)
l = ['d','D', 'a', 'A', 'z', 'Z']
l.sort()
print(l)
# 此处将字符串转为字符串处理
l = ['d','D', 'a', 'A', 'z', 'Z', 1, 2]
l.sort(key=lambda n:str(n))
print(l)
[1, 2, 32, 36, 38, 45]
['A', 'D', 'Z', 'a', 'd', 'z']
[1, 2, 'A', 'D', 'Z', 'a', 'd', 'z']
sorted(__iterable: Iterable, *, key: Callable, reverse: bool )
__iterable:迭代器,列表、元组等
key:排序规则
reverse: 翻转排序,默认为false,升序, 反之降序
l = [45,2,1,32,36,38]
print(sorted(l))
l = ['d','D', 'a', 'A', 'z', 'Z', 1, 2]
print(sorted(l, key=lambda n:str(n)))
[1, 2, 32, 36, 38, 45]
[1, 2, 'A', 'D', 'Z', 'a', 'd', 'z']
对字典进行排序,根据key或者val
l = [45,2,1,32,36,38]
l2 = ['d','D', 'a', 'A', 'z', 'Z']
d = dict(zip(l2,l))
print(d)
print(d.keys())
print(d.values())
print(d.items())
print(dict(sorted(d.items(), key=lambda item:item[1])))
print(dict(sorted(d.items())))
{'d': 45, 'D': 2, 'a': 1, 'A': 32, 'z': 36, 'Z': 38}
dict_keys(['d', 'D', 'a', 'A', 'z', 'Z'])
dict_values([45, 2, 1, 32, 36, 38])
dict_items([('d', 45), ('D', 2), ('a', 1), ('A', 32), ('z', 36), ('Z', 38)])
{'a': 1, 'D': 2, 'A': 32, 'z': 36, 'Z': 38, 'd': 45}
{'A': 32, 'D': 2, 'Z': 38, 'a': 1, 'd': 45, 'z': 36}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现