精简代码块的4个函数还你高效
拿走不谢!
工欲善其事必先利其器
这对像我们这种初学python的文科生来说也是一样的。
学习一种新的程序语言,就是在学它的方法关键词
能使你和你的小伙伴都工作得更高效
幸好python有不少这样的一看就会用的方法关键词
在此介绍四个,也许你看完就已经能自己立马动手实现自己想要的效果
四个方法关键词目录
目录
这四个方法能快速、高效、简便操作数据序列,
使代码块更简洁、明了
1、sorted()
有时您想要按某个顺序排序的列表。
也许你目前手头上正好有一张出货单,
需要按字母顺序排列。
或者你有一坨货款或数据,
需要把它们从最小到最大排序。
这并不一定是一件简单的事情。
您可以编写一个函数来识别列表中每个货物名称的首字母,
将其与列表中的其他货物名进行比较,
并将其按正确的顺序排列,
但这并不完全清晰或有效果。
刚好,sorted方法,人如其名,
她正好就是干排序这事的
money01=[18007,5698,267,20567,15964,21,75329,412]
money_sorted=sorted(money01)
print("\n排序后的货款:\n"+str(money_sorted))
2、reversed
""" 二号工具人reversed,他跟sorted合作时, 也是一个非常有用的方法, 因为他能帮忙将sorted处理好的数据进行反向排序 如果你正好想要将,刚才的数据进行反向排序 那么就用用reversed就好了 所以 第一步:使用sorted 第二步:使用reversed 第三步:将reversed的内容再转换为列表 为什么要有第三步? 因为,reversed处理过的内容是可迭代的对象, 如果你想要的是列表类的数据,必须转换 """
money01=[18007,5698,267,20567,15964,21,75329,412]
money_sorted=sorted(money01)
print("\n排序后的货款:\n"+str(money_sorted))
money_sorted_reversed = reversed(money_sorted)
money_sorted_reversed_list = list(money_sorted_reversed)
print("\n排序后的货款:\n"+str(money_sorted_reversed_list))
3、enumerate
""" 三号工具人enumerate,是参与流程控制的高手, 特别是跟for一起遍历循环的时候 您可能经常需要跟踪当前正在使用的货款索引, 也许还需要计算,enumerate刚好支持计算 也许可能要将当前的状态输出到终端 经常,我们通过创建迭代对象进行迭代,通常命名为一个字母, 并将其初始化为0,并在每次执行代码的时候向其添加1 举个栗子 """
print("\n还没使用enumerate:")
#第1步:创建列表
money01=[18007,5698,267,20567,15964,21,75329,412]
#第2步:将索引迭代工具初始化为0
index = 0
#第3步:打开for遍历循环,遍历上面的列表
for m in money01:
# 第4步:同时输出索引号,和对应值
print(index,m)
# 第5步:向索引添加1,进入下一个循环
index += 1
print("\n使用enumerate帮忙简化一下代码块:")
#第1步:创建列表
money01=[18007,5698,267,20567,15964,21,75329,412]
#第2步:打开for遍历循环,遍历上面的列表,同时输出索引号,和对应值
for index, m in enumerate(money01):
# 第3步:输出
print(index,m)
4、zip
""" 四号工具人zip能够将传递给他的列表、序列、元组、集合, 按照对应的索引号,进行打包,都是人如其名的好队友 它通过在所有集合中组合具有相同索引的所有项 来创建具有该索引的所有项的元组。 然后,代码继续移动到下一个索引, 并为该索引,以及下一个索引、下下一个索引,创建一个元组。 """
print("\n使用zip帮忙打包:")
#第1步:创建列表
client01 = ["旅行者","托马","雷电将军","心海","神里绫华","钟离","行秋","胡桃"]
goods02 = ["华为","小米","苹果","红旗","特斯拉","大众","欧普","魅族"]
money03 = [18007,5698,267,20567,15964,21,75329,412]
#第2步:打包
ziiipped = zip(client01,goods02,money03)
print(ziiipped)
#第3步:遍历打包好的列表中的索引号和对应的元组
for index, (x,y,z) in enumerate(ziiipped):
print("索引{}:\n客户名:{} | 货物:{} | 货款:{}".format(index,x,y,z))