簡體   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