如何在python中对元组进行排序?

2024-05-19 02:09:48 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
Sorting a tuple that contains tuples

我在对包含数字和字符串的元组进行排序时遇到了一些问题。 一开始,我有一个这样的元组:

a=(("a",2),("b",2),("a",1))

那我该怎么分类呢:(先按数字,然后按字母顺序)

a=(("a",1),("a",2),("b",2))

非常感谢你的帮助!


Tags: 字符串that排序顺序字母分类数字元组
1条回答
网友
1楼 · 发布于 2024-05-19 02:09:48

元组不能按定义排序,因为它们是不可变的。您可以将其转换为列表,对列表进行排序,然后转换回元组。像这样的东西

mylist = sorted(a, key = lambda x: str(x[1])+str(x[0]))
a = tuple(mylist)
网友
2楼 · 发布于 2024-05-19 02:09:48

内置函数sorted将为您实现这一点。

网友
3楼 · 发布于 2024-05-19 02:09:48
>>> a=(("a",2),("b",2),("a",1))
>>> from operator import itemgetter
>>> sorted(a, key=itemgetter(1, 0))
[('a', 1), ('a', 2), ('b', 2)]

相关问题 更多 >

    热门问题