繁体   English   中英

如何在一行中集成“附加”和“打印”Python 代码?

[英]How to integrate 'append' and 'print' Python code in a line?

python 新手在这里。 我想知道我是否可以在一行而不是两行中编写appendprint语法。 我试了两次都失败了,如下图:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM