3 回答

TA貢獻1828條經驗 獲得超3個贊
它在一個迭代中解包多個項目。例如
foo, bar = ['thing1', 'thing2']
print(foo)
print(bar)
會輸出
thing1
thing2
所以如果我們說:
packed_items = ['thing1', 'thing2']
foo, bar = packed_items
print(foo)
print(bar)
我們會得到同樣的結果。
另一個需要了解的重要語法是*運算符。
它可用于在打開包裝時抓取任意數量的物品并將它們放入列表中。
例如:
packed_items = ['thing1', 'thing2', 'thing3', 'thing4', 'thing5']
foo, *middle, bar = packed_items
print(foo, middle, bar)
產量 thing1 ['thing2', 'thing3', 'thing4'] thing5
然而
foo, middle, *bar = packed_items
print(foo, middle, bar)
會屈服 thing1 thing2 ['thing3', 'thing4', 'thing5']
最后,注意*操作符可以返回一個空列表
packed_items = ['thing1', 'thing2']
foo, middle, *bar = packed_items
print(foo, middle, bar)
產生thing1 thing2 []而不是因為沒有足夠的參數來解包而給你一個錯誤。
添加回答
舉報