根据 python 中元组的第二个值对一组元组进行排序
sorting a set of tuples based on second value of tuple in python
嗨,我是 python 的新手,想根据每个元组中存在的数值对这些值进行排序
b={('shoe',0.98),('bag',0.67),('leather',0.77)}
我曾尝试将其更改为列表,但无法更改元组元素
提前致谢
Python 集合是无序的,所以你不能对它们进行排序。但是您可以使用 sorted
函数对集合中的元素进行排序,并传递一个选择元组第二项的 lambda(因为集合元素是元组,并且您希望按元组的第二个元素排序)到key
参数。这个returns一个列表:
out = sorted(b, key=lambda x:x[1])
输出:
[('bag', 0.67), ('leather', 0.77), ('shoe', 0.98)]
或者你可以使用operator.itemgetter
(也有attrgetter
):
from operator import itemgetter
out = sorted(b, key=itemgetter(1))
嗨,我是 python 的新手,想根据每个元组中存在的数值对这些值进行排序
b={('shoe',0.98),('bag',0.67),('leather',0.77)}
我曾尝试将其更改为列表,但无法更改元组元素 提前致谢
Python 集合是无序的,所以你不能对它们进行排序。但是您可以使用 sorted
函数对集合中的元素进行排序,并传递一个选择元组第二项的 lambda(因为集合元素是元组,并且您希望按元组的第二个元素排序)到key
参数。这个returns一个列表:
out = sorted(b, key=lambda x:x[1])
输出:
[('bag', 0.67), ('leather', 0.77), ('shoe', 0.98)]
或者你可以使用operator.itemgetter
(也有attrgetter
):
from operator import itemgetter
out = sorted(b, key=itemgetter(1))