持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,点击查看活动详情
大家好,我是芒果,一名非科班的在校大学生。对C/C++、数据结构、Linux及MySql、算法等领域感兴趣,喜欢将所学知识写成博客记录下来。 希望该文章对你有所帮助!如果有错误请大佬们指正!共同学习交流
作者简介:
- CSDN C/C++领域新星创作者blog.csdn.net/chuxinchang…
- 掘金LV3用户 juejin.cn/user/138142…
- 阿里云社区专家博主,星级博主,技术博主 developer.aliyun.com/profile/exp…
- 华为云云享专家 bbs.huaweicloud.com/community/m…
序列内建函数
len函数
len: 返回序列的长度.
a = [2,3,4,5]
print(len(a)) #4
b = "hello"
print(len(b)) #5
max函数 -O(N)
max: 返回序列中的最大值
a = [2,3,4,5]
print(max(a)) #5
b = "helloz"
print(max(b)) #z
min函数 -O(N)
min: 返回序列中的最小值
a = [2,3,4,5]
print(min(a)) #2
b = "helloz"
print(min(b)) #e
sorted函数
sorted: 排序. 这是一个非常有用的函数. 返回一个有序的序列(输入参数的副本).
a = ['abc','acb','a','b']
print(sorted(a)) #['a', 'abc', 'acb', 'b']
a = [5,3,3,1,5]
print(sorted(a)) #[1, 3, 3, 5, 5]
sorted可以支持自定制排序规则
sum函数
sum: 序列中的元素求和(要求序列中的元素都是数字)
a = [1,2,3,4,5]
print(sum(a)) #15
a= [1,'a']
print(sum(a)) #报错 unsupported operand type(s) for +: 'int' and 'str'
enumerate函数
enumerate: 同时枚举出序列的下标和值 可以避免很多丑陋的代码.
例如:找出元素在列表中的下标
a = [1,2,3,4,5]
def Find(input_list,x):
for i in range(0,len(input_list)):
if input_list[i] == x:
return i
else: #此处的else和for搭配
return None
print(Find(a,2)) #1 下标为1
这里用for循环写的就不够优雅,使用enumerate函数就可以写的很优雅
a = [1,2,3,4,5]
def Find(input_list,x):
for i ,item in enumerate(input_list):
if item == x:
return i
else: #此处的else和for搭配
return None
print(Find(a,2)) #1 下标为1
zip函数
zip: 这个函数的本意是 "拉链",
x = [1,2,3]
y = [4,5,6]
z = [7,8,9,10] #多余的10不要,3行3列
print(zip(x,y,z)) #直接打印是对象的id <zip object at 0x000001581CFE7748>
#把执行结果强转为list,列表
print(list(zip(x,y,z))) #[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
#直观打印
for i in zip(x,y,z):
print(i)
#执行结果:
(1, 4, 7)
(2, 5, 8)
(3, 6, 9)
zip可以理解为行列互换
zip的一个比较常见的用法, 就是构造字典
key = ('name','id','score')
value =('Mango','2022','99')
d = dict(zip(key,value)) #执行结果转为一个字典
print(d) # {'name': 'Mango', 'id': '2022', 'score': '99'}
\