在Python中,有没有一种方法可以一致地对由列表和元组组成的列表进行排序?

2024-04-16 14:30:29 发布

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

对我来说,ab是一样的,那为什么c不同呢?有没有办法使它与ab保持一致,而不必将所有内容都转换为列表或元组?你知道吗

>>> a = [(1, 0), (0, 0)]
>>> a.sort()
>>> print a
[(0, 0), (1, 0)]
>>>
>>> b = [[1], (0)]
>>> b.sort()
>>> print b
[0, [1]]
>>>
>>> c = [[1, 0], (0, 0)]
>>> c.sort()
>>> print c
[[1, 0], (0, 0)]
>>>

Tags: 内容列表sort元组print办法保持一致
2条回答

如果您不确定最外层的容器是否是列表,则可能还需要使用:

sorted(c, key=tuple)

因为c.sort()是一个只包含列表的函数。我想我应该加一句。你知道吗

只能出于排序的目的转换它们:

>>> c = [[1, 0], (0, 0)]
>>> c.sort(key=tuple)
>>> c
[(0, 0), [1, 0]]

也就是说,包含列表和元组的列表是一种代码味道。你知道吗

相关问题 更多 >