初学者没看懂,sort是排序我知道,但是这个排序方法是什么意思?

应用 lambda实现对爬取到的秒杀商品信息进行排序。
在IDLE中创建一个名称为 seckillsort.py的文件,然后在该文件中定义一个保存商品信息的列表并
输出,接下来使用列表对象的 sort()方法对列表进行排序,并且在调用sort()方法时,通过 lambda表达
式指定排序规则,最后输出排序后的列表,代码如下:

bookinfo =[('《不一样的卡梅拉(全套)》',22.50,120),('《零基础学 Python》',65.10,79.80),(,《摆渡人》',23.40,36.00),('《福尔摩斯探案全集8册》',22.50,128)]
print('爬取到的商品信息:\n',bookinfo,'ln')
bookinfo.sort(key= lambda x:(x[1],x[1]/x[2]))
#按指定规则进行排序

print('排序后的商品信息:\n', bookinfo)

请问这个sort(key= lambda x:(x[1],x[1]/x[2]))是怎么实现排序的

sort 方法是先把列表中的每个元素传递给 lambda函数 中的x ,
lambda函数会返回一个有两个值的元组。
比如('《不一样的卡梅拉(全套)》',22.50,120) 传递给 lambda函数 中的x ,
lambda函数会返回 (22.50,0.1875) 这样的元组。

之后用这些返回的元组来作为排序的数据进行比较,

两个元组进行比较时是先比较两个元组的第一个值,第一个值如果相同,再比较两个元组的第二个值

就是说指定排序元素,首先按照元组的第二组数据(下标为1)排序,在第二组数据相同的情况下,按照x[1]/x[2]的结果来排序
有帮助望采纳