python - 按所有元组中的两个元素对元组列表进行排序

标签 python sorting tuples

<分区>

我想显示从大年龄到小年龄的列表。 这是我的 list :

player = [("Dmitry", 15), ("Dima", 11), ("Sergey", 14), ("Andrey", 12), ("Nikita", 13)]

我可以通过 player.sort 使用 name 元素对列表进行排序并获得此列表:

[('Andrey',12),('Dima',11),('Dmitry',15),('Nikita',13),('Sergey',14)]

但我想要这个列表,其中年龄从大到小:

[('Dmitry',15),('Sergey',14),('Nikita',13),('Andrey',12),('Dima',11)]

我该怎么做?

最佳答案

您可以使用 itemgetter() 实现您想要的排序。 函数作为 key 参数和设置 reversed true 所以列表按降序排列:

>>> from operator import itemgetter
>>> players = [("Dmitry", 15), ("Dima", 11), ("Sergey", 14), ("Andrey", 12), ("Nikita", 13)]
>>> players.sort(key=itemgetter(1), reverse=True)
>>> print(players)
[('Dmitry', 15), ('Sergey', 14), ('Nikita', 13), ('Andrey', 12), ('Dima', 11)]

关于python - 按所有元组中的两个元素对元组列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50795241/

相关文章:

python - 在 python 中查找对称对

python - 如何安装 GSSAPI Python 模块?

python - 使用 numpy 数组高效索引 numpy 数组

Python scraper (Scraperwiki) 只得到一半的表

jquery - 将 div 分为两组

c - 计时冒泡排序

c++ - 为什么这个简单的元组自定义比较器即使在严格弱排序的情况下也会崩溃?

Python-将列表组合排列成各种大小的元组列表

list - Haskell中两个列表的所有元素组合

python - 在 Redis 中存储数据然后获取该数据