AttributeError: 'list' object has no attribute

AttributeError: 'list' object has no attribute

我尝试通过定义函数方法进行冒泡排序,但它一直显示属性错误。我无法理解原因,所以如果有人能解释这个错误,那将是一个很大的帮助。

l=[1,4,7,9,0]

def kono():
    n=len(l)
    for i in range (n):
        for j in range(n-i-1):
            if(l[j]>l[j+1]):
               l[j],l[j+1]=l[j+1],l[j]
b=l.kono()

print(b)

更改您的代码,使函数接受一个列表;然后,要调用它,请使用 kono(l) 而不是 l.kono();那么就不需要将结果分配给 b 因为列表是作为引用传递的(而且函数没有 return 任何值):

l=[1,4,7,9,0]

def kono(l):
    n=len(l)
    for i in range (n):
        for j in range(n-i-1):
            if(l[j]>l[j+1]):
               l[j],l[j+1]=l[j+1],l[j]
kono(l)

print(l)

如果需要,可以添加 return。一切都取决于你想如何定义你的功能

l=[1,4,7,9,0]

def kono(l):
    n=len(l)
    for i in range (n):
        for j in range(n-i-1):
            if(l[j]>l[j+1]):
                l[j],l[j+1]=l[j+1],l[j]
    return l

b = kono(l)

print('This is b',b)
#Output: This is b [0, 1, 4, 7, 9]

在这种情况下,您会将有序列表分配给 b