Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法附加到返回的列表?_Python - Fatal编程技术网

Python 无法附加到返回的列表?

Python 无法附加到返回的列表?,python,Python,为什么f().append('a')是None==True,即使f()。\uuu class\uuu是和f()===['b','c'],因为append()返回无,而不是列表对象。使用 def f(): lst = ['a', 'b', 'c'] return lst[1:] 因为append() l = f() l.append('a') ... 希望这会有所帮助。在这种情况下,充分了解表达式和命令之间的差异总是很好的。基本上有两种方法可以将值x附加到列表l 使用命令:l.

为什么
f().append('a')是None==True
,即使
f()。\uuu class\uuu
f()===['b','c']
,因为
append()
返回
,而不是列表对象。使用

def f():
    lst = ['a', 'b', 'c']
    return lst[1:]
因为
append()

l = f()
l.append('a')
...

希望这会有所帮助。在这种情况下,充分了解表达式和命令之间的差异总是很好的。基本上有两种方法可以将值
x
附加到列表
l

  • 使用命令:
    l.append(x)
    。通常命令不返回任何值;它会产生某种副作用
  • 使用一个表达式,即
    l+[x]
    ,它代表一个值,不做任何事情。即,您分配
    l=l+[x]

  • +1:这需要一种“StdPython”式的回答。变异对象的方法(几乎)从不返回值
    pop()
    是一个值得注意的例外。请对此进行评估:
    []追加('a')
    f()+['a']