Python如何使用内联列表更新作为函数参数?

2024-04-19 10:32:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表,我附加了一个值,然后使用新的列表调用一个函数,我想在一行,但不工作。。。你知道吗

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:)


Tags: to函数代码文档selfnone列表object
2条回答

您可以使用:

l = ['a', 'b']
print(l + ['c'])

它将单个项列表['c']l列表连接起来。把这个传递给print在行为上与my_function是一样的。你知道吗

上面代码的输出是,这也是列表在my_function中的样子:

['a', 'b', 'c']

注意,在原来的示例中,当调用变量list时,已经重新定义了内部函数list(),它将iterable转换为列表,因此在选择变量名时请谨慎。你知道吗

在python中,参数定义为在调用函数时提供给函数的值。type(list.append())返回一个Nonetype。这在这个线程What is a 'NoneType' object?中进行了解释。据我所知,python中没有内置的list方法返回修改后的列表中的@ggorlen的简短回答可能是最好的,因为l + ['c']返回一个列表。 也可以编写自己的append函数

相关问题 更多 >