簡體   English   中英

解包地圖對象時出現解包錯誤

[英]Unpacking error when unpacking map object

n, m = map(int, [1, 2])

將得到n == 1m == 2

但:

n, m, r = map(int, [1, 2]), defaultdict(list)

將提高:

ValueError: not enough values to unpack (expected 3, got 2)

這次, n<map object at ...>mdefaultdict

我很困惑。

這里要解包的結構是一個有兩個元素的元組,一個嵌套元組最終包含12作為映射結果以及defaultdict。

((1, 2), defaultdict(list))

如果需要正確解壓縮,請在分配目標處使用括號來指定生成的結構:

(n, m), r = map(int, [1, 2]), defaultdict(list)

其中nmr具有正確的值。

如果您使用:

n, m = map(int, [1, 2]), defaultdict(list)

map結果(迭代器)將永遠不會解包,而只會被分配為n的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM