Python|具有相似列表元素的列表排序列表
排序一直是许多应用程序执行的关键操作,也是许多问题的子问题。已经讨论了许多变体和技术,并且在编程时拥有它的知识可能很有用。本文讨论包含列表的列表的排序。让我们讨论可以执行此操作的某些方式。
方法 #1:使用sorted()
+ 列表推导
在这种方法中,我们只是使用可以应用的较长过程的简写。该列表被迭代,并且后续子列表也使用排序内部列表的 sorted函数进行排序。
# Python3 code to demonstrate
# Sorting list of lists with similar list elements
# using list comprehension + sorted()
# initializing list
test_list = [[[4, 4], [1, 1]], [[3, 3], [2, 2], [5, 5]]]
# printing original list
print("The original list : " + str(test_list))
# using list comprehension + sorted()
# Sorting list of lists with similar list elements
res = [sorted(idx) for idx in test_list]
# print result
print("The list after performing sort operation : " + str(res))
输出 :
The original list : [[[4, 4], [1, 1]], [[3, 3], [2, 2], [5, 5]]]
The list after performing sort operation : [[[1, 1], [4, 4]], [[2, 2], [3, 3], [5, 5]]]
方法 #2:使用map() + sorted()
上述函数的组合也执行与上述方法类似的任务,不同之处在于 map函数用于将排序逻辑扩展到整个子列表。
# Python3 code to demonstrate
# Sorting list of lists with similar list elements
# using map() + sorted()
# initializing list
test_list = [[[4, 4], [1, 1]], [[3, 3], [2, 2], [5, 5]]]
# printing original list
print("The original list : " + str(test_list))
# using map() + sorted()
# Sorting list of lists with similar list elements
res = list(map(sorted, test_list))
# print result
print("The list after performing sort operation : " + str(res))
输出 :
The original list : [[[4, 4], [1, 1]], [[3, 3], [2, 2], [5, 5]]]
The list after performing sort operation : [[[1, 1], [4, 4]], [[2, 2], [3, 3], [5, 5]]]