【发布时间】:2026-01-26 03:00:02
【问题描述】:
我一直在尝试编写一个对变量列表进行排序的代码。我知道可以通过多种方式做到这一点,包括我正在尝试使用的冒泡排序。但是,当我使用冒泡排序对列表进行排序时,输出始终是数字而不是变量名。对不起,如果答案很明显,我是 Python 新手。
A = 5
B = 7
c= 8
def bubblesort(alist):
for passnum in range(len(alist)-1,0,-1):
for i in range(passnum):
if alist[i]>alist[i+1]:
temp = alist[i]
alist[i] = alist[i+1]
alist[i+1] = temp
alist = [B,A,c]
bubblesort(alist)
print(alist)
【问题讨论】:
-
调试步骤 1:从您的代码中删除
bubblesort(alist),看看会发生什么。调试的第 2 步:问问自己为什么print(alist)不会直接打印文本“alist”。 -
Python 不适用于引用,没有变量类。您可以使用
sorted(alist)对列表进行排序 -
简化:你有
a=1;print(a)并期望 Python 打印a而不是1- 但它不是这样工作的。 -
我不太明白你的期望。对数字列表进行排序将为您提供数字列表,而不是变量列表。如果你想映射键:值对,你应该使用字典。
标签: python bubble-sort