美文网首页
Python中list的append用法一列解析

Python中list的append用法一列解析

作者: RichardLiLi | 来源:发表于2019-02-04 09:10 被阅读0次

    def fibonacci(i):

        a, b = 0, 1

        j = 0

        fib = []

        while j < i:

            a, b = b, a+b

            j+=1

            fib = fib.append(a)

        return(fib)

    a = fibonacci(10)

    print(a)

    以上的python run之后提示 'NoneType' object has no attribute 'append'。而当将以上代码中的fib = fib.append(a)改为fib.append(a)之后,则正确。

    那么为什么不能将fib append之后的list重新赋值给fib呢? 让我们来看看一下代码的输出值:

    list = [1, 2, 3, 4]

    a =  list.append(5)

    print(a)

    print(list)

    运行之后输出结果为:

    None

    [1, 2, 3, 4, 5]

    因此,我们可以看到list.append[5]操作是将5加到list的元素中,但是list.append[5]返回值为None。这里我们需要了解append的操作原理,append(同理还有extend,insert)是对列表增加元素的操作,但是它本身没有返回值(或者说返回值为None),因此a=a.append[5]如果输入结果是None,而并非我们期待的添加了元素5之后的list。

    相关文章

      网友评论

          本文标题:Python中list的append用法一列解析

          本文链接:https://www.haomeiwen.com/subject/xdkpsqtx.html