[英]How to integrate 'append' and 'print' Python code in a line?
python 新手在这里。 我想知道我是否可以在一行而不是两行中编写append
和print
语法。 我试了两次都失败了,如下图:
a = [1,2,3,4]
y = 7
a.append(y)
print(a) #correct [1, 2, 3, 4, 7]
(1)
print(a.append(y)) #retuns None
(2)
print(a = a.append(y)) #returns 'a' is an invalid keyword argument for print()
一个更重要的问题是:我可以知道失败的原因吗? 谢谢您的回答。
.append()
返回None
,所以这就是print()
在尝试 #1 中打印的内容。
在尝试 #2 中,你不能像那样执行任务。 如果你有 Python 3.8 或更高版本,你可以像这样使用赋值表达式运算符:=
:
print(a := a.append(y))
但不仅不会打印a
,它还会用.append()
返回的None
替换a
。
至于如何添加到a
并同时打印a
,因为.append()
返回None
,这个构造将起作用:
print(a.append(y) or a)
由于or
的左侧将评估为None
,因此表达式的值将是右侧a
。
但我不会那样做。 这是不必要的和令人困惑的。 巧妙的单行代码无法替代可读代码。
我认为您不能使用 append 执行此操作,但请尝试以下操作:
a = [1,2,3,4]
y = 7
print([*a,y])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.