【发布时间】:2019-01-29 04:31:36
【问题描述】:
我有一个列表,我附加了一个值,然后使用新列表调用一个函数,我想在一行中执行此操作但不起作用...
list = ['a', 'b']
my_funtion(list.append('c'))
my_function 收到了一个None 而不是包含三个字母的列表,这是正确的,因为来自文档:
def append(self, p_object):
""" L.append(object) -> None -- append object to end """
pass
如果我这样做,它会起作用:
list = ['a', 'b']
list.append('c')
my_funtion(list)
我想知道是否有办法用我的原始示例简化代码。
【问题讨论】:
-
不要使用
list作为变量名,因为它会影响内置类型。list.append()就地修改对象并返回None。 -
顺便说一句,即使在 Java 中这也行不通。在 Java 中,
List.add返回true。