【发布时间】:2021-04-23 05:44:43
【问题描述】:
我正在尝试根据第二项对列表进行排序。我已经写出了这段代码,但它没有正确排序。
import random
d2 = []
for i in range (12):
x = random.randint(1,100)
y = x
x = random.randint(1,100)
d2.append([x,y])
我在处理这部分时遇到了问题,我需要对其进行整理。它对前两个列表进行排序,但随后停止工作。我的代码有什么问题?
def sortlist(A):
l = len(A)
for i in range(0, l):
for j in range(0, l-i-1):
if (A[j][1] > A[j + 1][1]):
tempo = A[j]
A[j]= A[j + 1]
A[j + 1]= tempo
return A
A = d2
print(sortlist(A))
【问题讨论】:
-
你可以创建一个与第一个相同但删除第一个项目的新列表,然后对其进行排序并将其附加到第一个现有项目的列表中吗?
-
这能回答你的问题吗? Custom Python list sorting
-
@couka OP 确实不询问如何对列表进行排序,但他们已经实现的算法有什么问题。
-
@Countour-Integral Quadri 先生搞砸了。
-
您的
return A有错误的缩进——它应该与l = len(A)的缩进相同。我有一个更长的答案,我正在写,直到问题结束。你也有不必要的任务——看看你自己能不能找到它们。