按多个字段对 Python 列表进行排序
如果您有一个使用排序()从排序的 CSV 文件创建的列表,您可能需要按附加条件进一步对列表进行排序。要按两个字段对 Python 列表进行排序,您可以结合使用 Sorted() 函数和 lambda 表达式。
在您的情况下,您可以按字段 1 中的值对列表 list1 进行排序,然后按字段 1 中的值对列表 list1 进行排序。使用以下代码在字段 2 中获取值:
sorted_list = sorted(list1, key=lambda x: (x[0], x[1]))
sorted() 中的 key 参数采用一个确定排序顺序的函数。在本例中,lambda 函数返回用于排序的值元组。元组的第一个元素是字段 1 中的值,第二个元素是字段 2 中的值。
要按一个字段升序、另一个字段降序排序,可以在 lambda 函数中使用负值。例如,要按字段 1 升序和字段 2 降序排序,请使用以下代码:
sorted_list = sorted(list1, key=lambda x: (x[0], -x[1]))
以上是如何使用'sorted()”和 Lambda 表达式按多个字段对 Python 列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!