使用Python的sorted()函数可以按照多个字段对2D列表进行排序。在sorted()函数中,可以通过定义一个lambda函数来指定排序的规则。
下面是一个示例代码,可以按照列表中第一个字段进行升序排序,如果第一个字段相同,则按照第二个字段进行降序排序:
data = [[3, 2], [1, 4], [2, 3], [1, 2], [2, 1]]
# 按照第一个字段升序排序,如果第一个字段相同则按照第二个字段降序排序
sorted_data = sorted(data, key=lambda x: (x[0], -x[1]))
# 输出排序结果
for item in sorted_data:
print(item)
运行结果为:
[1, 4]
[1, 2]
[2, 3]
[2, 1]
[3, 2]
在lambda函数中,x表示列表中的每个元素,x[0]表示第一个字段,x[1]表示第二个字段。通过传递key参数给sorted()函数,可以指定按照哪些字段进行排序。在lambda函数中,我们使用了元组来指定排序规则,如果第一个字段相同,则按照第二个字段的相反数进行降序排序。