我没有太多的编程经验,但我一直在尝试让一个程序从多个输入中运行,它可以按字母顺序排列列表并上下打印它,而不显示它所执行的任何步骤得出结论。并且不能使用其中的任何排序功能。
def orgianlAlphabeticalList():
for amountInList in range(len(allInputsInLists)-1, 0, -1):
for i in range(amountInList):
if allInputsInLists[i] > allInputsInLists[i+1]:
allInputsInLists[i], allInputsInLists[i+1] = allInputsInLists[i+1], allInputsInLists[i]
print(allInputsInLists)
这是我按字母顺序排列列表的功能我没有很多编程经验
你的功能没问题。您所做的是一种冒泡排序实现,需要修复。
它是一种时间复杂度为 O(N ^ 2) 的排序方法。这不是最好的。但事实上,你能想出这个,就很好了。
def orgianlAlphabeticalList(allInputsInLists):
for amountInList in range(len(allInputsInLists) - 1, 0, -1):
for i in range(amountInList):
if allInputsInLists[i] > allInputsInLists[i + 1]:
allInputsInLists[i], allInputsInLists[i + 1] = allInputsInLists[i + 1], allInputsInLists[i]
return allInputsInLists
sample_list = ['banana', 'apple', 'orange', 'grape', 'banana', 'apple', 'orange', 'grape']
sorted_list = orgianlAlphabeticalList(sample_list)
print(sorted_list)
['苹果', '苹果', '香蕉', '香蕉', '葡萄', '葡萄', '橙子', ‘橙色’]
if allInputsInLists[i] > allInputsInLists[i+1]:
怎么办?