按多个字段对 Python 列表进行排序
使用排序列表时,可能需要按多个条件排序。当第一个排序键中有联系,并且您想使用第二个键来打破它们时,这一点就变得很重要。
要在 Python 中按两个字段对列表进行排序,可以将 lambda 函数与sorted() 结合使用功能。这允许您在单个表达式中指定多个排序键。
list1 = sorted(csv1, key=lambda x: (x[0], x[1]))
在此示例中,列表按字段 1 中的值排序,然后按字段 2 中的值排序。 lambda 函数采用该项目作为输入并返回第一个字段值和第二个字段值的元组。然后,sorted() 函数根据返回的元组对列表进行排序。
您还可以使用此技术按一个字段升序和另一个字段降序排序:
sorted_list = sorted(list, key=lambda x: (x[0], -x[1]))
在此示例中,列表按第一个字段值排序,然后按第二个字段值降序排列(因为有负号)。当您想要按第二个字段中的最高值对第一个字段中的每个唯一值进行排序时,这会很有用。
以上是如何按多个字段对 Python 列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!