我在嵌套列表中有一个数字列表。我需要将它们按升序排序,同时将其保留在嵌套列表中。我想将它们重新分组到新的嵌套列表中。
我有以下功能:
def sorting(n):
for i in n:
for e in range(1, len(i)):
key = i[1]
j = e - 1
while j >= 0 and key < i[j]:
i[j + 1] = i[j]
j -= 1
i[j + 1] = key
for i in range(len(n)):
return(n)
n = [[6, 2], [9, 5], [3, 7], [1, 8]]
print(sorting(n))
但是它不能正确排序列表。我得到这个:
[[2, 6], [5, 9], [3, 7], [1, 8]]
但是它应该通过以下方式重新组合嵌套列表:
[[1, 2], [3, 5], [6, 7], [8, 9]]
我如何编辑我的代码以使它起作用?
感谢您的帮助
实际上,您应该首先将列表弄平,然后排序,然后重新配对:
解决此问题的一种方法是将列表弄平,对其进行排序,然后重新组合为成对的列表:
输出: