python - 按两个字段对 Python 列表进行排序

标签 python sorting

<分区>

我从排序的 csv 创建了以下列表

list1 = sorted(csv1, key=operator.itemgetter(1))

我实际上想按两个标准对列表进行排序:首先按字段 1 中的值,然后按字段 2 中的值。我该怎么做?

最佳答案

使用 lambda 函数时无需导入任何内容。
以下按第一个元素对 list 进行排序,然后按第二个元素排序。您还可以按一个字段升序排序,另一个字段降序排序,例如:

sorted_list = sorted(list, key=lambda x: (x[0], -x[1]))

关于python - 按两个字段对 Python 列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36852709/

相关文章:

python - 如何在 Python 中停止一段代码以运行另一段代码?

javascript - 在 Django 中本地化 Javascript 内容时出错

python - Lambda 数据框引用另一列中的值

java - 如何对 HashMap<String, Integer[]> 进行排序?

c - 为什么我的归并排序程序会触发段错误?

python - 为什么此代码对 NULL 句柄调用 CloseHandle?

python - 查找 CSV 文件中的重复项总数

c++ - 对于列表排序,有没有办法让多个运算符重载具有相同的参数?

c++ - 为什么对 std::tuple 的 std::vector 进行排序比对 std::arrays 的 vector 排序更快?

c - 为什么我的数据结构堆排序会在 5761 个数字处中断进行排序?