![](/img/trans.png)
[英]Difference between `yield from foo()` and `for x in foo(): yield x`
[英]What's the different between 'list((x,)).extend([x])' and 'foo=list((x,)); foo.extend([x])'
print(list((1,)).extend([2]))
,輸出為None
。 foo=list((1,)); foo.extend([2]);print(foo)
foo=list((1,)); foo.extend([2]);print(foo)
,輸出為[1, 2]
。 我不知道有什么不同,謝謝。
extend()方法僅修改原始列表。 它不返回任何值。 因此,print()無法接收任何內容,並輸出'None'。
在第一個代碼段中,您將打印extend
返回的內容: None
。 在第二個代碼段中,您將打印foo
(列表本身)。
換句話說,首先,您要打印不返回任何內容的函數調用的結果。 在第二個步驟中,您將執行extend
調用, 然后分別打印列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.