AttributeError: 'list' 对象没有属性

时间:2021-04-09 12:48:50

标签: python list function attributeerror

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

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)

2 个答案:

答案 0 :(得分:1)

改变你的代码,让函数接受一个列表;然后,要调用它,请使用 kono(l) 而不是 l.kono();那么就不需要将结果分配给 b,因为列表是作为引用传递的(该函数也不返回任何值):

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)

答案 1 :(得分:0)

如果您愿意,可以添加退货。一切都取决于你想如何定义你的函数

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