python - 按特定逻辑对嵌套列表进行排序 - Python

标签 python sorting python-3.x nested-lists

嵌套列表,

A = [[2, 0], [1, 0], [4, 3], [3, 2], [5, 1]] 

我正在尝试根据1st对其进行排序元素按升序排列,即

result_A = [[2, 0], [1, 0], [5, 1], [3, 2], [4, 3]]

1st元素在任何嵌套列表中都很常见,我尝试根据 0th 对它进行排序元素。所以,

required_A = [[1, 0], [2, 0], [5, 1], [3, 2], [4, 3]]

这是我到目前为止的代码:

required_A = sorted(A, key=itemgetter(1))

我可以根据1st对其进行排序元素,但我不知道如何在 0th 上再次对其进行排序元素,而剩余的顺序不会困惑。谢谢!

最佳答案

这展示了如何修复您的 itemgetter代码。

>>> from operator import itemgetter
>>> sorted(A, key=itemgetter(1, 0))
[[1, 0], [2, 0], [5, 1], [3, 2], [4, 3]]

当您将多个参数传递给 itemgetter 时,它会返回一个函数,该函数可用于根据给定序列构造一个元组,其中的值来自作为 itemgetter 参数提供的相应索引.

像所有序列一样,元组可以进行比较 lexicographically在Python中。这意味着将从左到右、逐个索引地对它们进行比较,直到一个序列超过另一个序列。这也意味着元组可以为您的排序提供出色的键。

关于python - 按特定逻辑对嵌套列表进行排序 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30523561/

相关文章:

python - Python 中的交叉引用列表

php - Python-ModuleNotFoundError : No module named 'selenium'

linq - 如何快速查找 List<T> 中的重复项,并更新原始集合

python - 如何以年份为频率创建 Pandas DatetimeIndex?

mysql - 当数据库更新为新条目时,如何在 django 中获取推送通知?

python - 如何使用 python 脚本下载 youtube 视频

python - PyGame:每像素 alpha 的半透明 Sprite

java - 在android中排序 ListView

java - 按字符串或索引的一部分对字符串数组进行排序?

c - 在 C 中保存数据并在 Python 中加载