[英]Unpacking list and assigning it to variable
對於這段代碼,
a=[1,2,3,4,5]
print(*a)
當列表a
被解壓時,我會得到1 2 3 4 5
輸出。
但是如果我想將
*a
分配給變量x
然后打印怎么辦?
a=[1,2,3,4,5]
x=*a
print(x)
如何獲得與上述代碼相同的輸出?
要從print
獲得相同的輸出,請編寫x = ' '.join(str(s) for s in a)
。 但是,那不是解包,這里也沒有辦法用解包來達到同樣的效果。
解包運算符*
只能出現在函數參數或賦值目標的上下文中。 您的原始示例對print
函數的參數使用解包。 使用解包的另一種方法是在解構賦值中,在這種情況下,它會創建一個列表; 例如:
>>> first, *rest = [1, 2, 3, 4, 5]
>>> first
1
>>> rest
[2, 3, 4, 5]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.