Python 列表中的多字段排序
在 Python 中,使用 Sorted() 函数按单个字段对列表进行排序非常简单,关键参数。但是,如果您需要按多个字段排序怎么办?
要按两个字段对列表进行排序,您可以利用 lambda 函数的强大功能。操作方法如下:
list1 = sorted(csv1, key=operator.itemgetter(1))
此代码按字段 1 中的值对列表进行排序。要按字段 1 中的值排序,然后按字段 2 中的值排序,请使用 lambda 函数:
sorted_list = sorted(list1, key=lambda x: (x[0], x[1]))
此 lambda 函数为列表中的每个元素创建一个包含字段 1 和字段 2 中的值的元组。然后,sorted() 函数按元组的第一个元素(字段 1)对列表进行排序,然后按第二个元素(字段 2)对列表进行排序。
或者,您可以按一个字段升序和另一个字段降序排序:
sorted_list = sorted(list1, key=lambda x: (x[0], -x[1]))
此代码按字段 1 中的值升序对字段 2 中的值进行排序降序。
使用 lambda 函数时无需导入任何额外模块。此方法提供了一种灵活高效的方法,可以根据您的具体要求按多个字段对 Python 列表进行排序。
以上是如何按多个字段对 Python 列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!