我有一个列表,我附加了一个值,然后使用新的列表调用一个函数,我想在一行,但不工作。。。你知道吗
list = ['a', 'b']
my_funtion(list.append('c'))
我的\u函数收到一个无,而不是包含三个字母的列表,这是正确的,因为来自文档:
def append(self, p_object): """ L.append(object) -> None -- append object to end """ pass
如果我这样做了,它就会起作用:
list = ['a', 'b']
list.append('c')
my_funtion(list)
我想知道是否有办法简化我的原始样本的代码?顺便说一句,我来自Java,也许我的代码不是pythonic:)
您可以使用:
它将单个项列表
['c']
与l
列表连接起来。把这个传递给print
在行为上与my_function
是一样的。你知道吗上面代码的输出是,这也是列表在
my_function
中的样子:注意,在原来的示例中,当调用变量
list
时,已经重新定义了内部函数list()
,它将iterable转换为列表,因此在选择变量名时请谨慎。你知道吗在python中,参数定义为在调用函数时提供给函数的值。
type(list.append())
返回一个Nonetype。这在这个线程What is a 'NoneType' object?中进行了解释。据我所知,python中没有内置的list方法返回修改后的列表中的@ggorlen的简短回答可能是最好的,因为l + ['c']
返回一个列表。 也可以编写自己的append函数相关问题 更多 >
编程相关推荐