【发布时间】:2020-03-26 22:57:45
【问题描述】:
def Bubble(L):
x = L.copy()
for j in range(len(x)):
for i in range (len(x)-1):
firstnumber = x[i]
secondnumber = x[i+1]
if x[i] > x[i+1]:
x[i] = secondnumber
x[i+1] = firstnumber
return x
def Max(L):
print(L.Bubble[len(L)-1])
def Min(L):
print(L.Bubble[0])
我试图在使用 Bubble 对列表进行排序后定义列表的最大值和最小值,但每次运行它时,我都会得到:
AttributeError: 'list' object has no attribute 'Bubble'
【问题讨论】:
-
显然
L是一个列表。Bubble是一个函数,而不是一个列表方法。目前尚不清楚您为什么会有其他预期。 -
您需要检查一些基础知识。你调用 Bubble 就像它是 L 上的一个属性,但它不是 - 它是一个你刚刚定义的函数。您正在使用
[]访问 Bubble,这对于函数也不起作用。最后,对列表的整个副本进行冒泡排序以获得最小值或最大值必须是我见过的最小值或最大值实现的最低效的方式...... -
发布有关产生异常的代码的问题时,请始终包含完整的 Traceback - 复制并粘贴它,然后将其格式化为代码(选择它并输入
ctrl-k)。您的问题还应包括产生错误的代码。请阅读minimal reproducible example。