當(dāng)我嘗試使用 dict(x) 創(chuàng)建字典時,其中 x 是另一個字典的切片,d(y) 其中 y 是 collections.Counter() 對象。這是單線:lengths=dict(islice(dict(Counter(input())),3))我得到的例外是這個lengths=dict(islice(dict(Counter(input())),3))ValueError: dictionary update sequence element #0 has length 1; 2 is required根據(jù)我的理解,這個錯誤是在調(diào)用更新函數(shù)時只使用一個值(而不是鍵值對)引起的。我知道嵌套函數(shù)調(diào)用有問題,但找不到。我怎樣才能得到一部分字典項目?有沒有一種方法可以在不實際遍歷整個字典并更新到新字典的情況下做到這一點(diǎn)?
3 回答

慕婉清6462132
TA貢獻(xiàn)1804條經(jīng)驗 獲得超2個贊
您可以islice
在Counter
(這是一個 dict 子類,因此不需要 dict 轉(zhuǎn)換)對象的項目上使用,然后使用 dict 構(gòu)造函數(shù)將切片項目轉(zhuǎn)換為 dict。
例如,
dict(islice(Counter('abbcccddeeff').items(), 3))
返回:(注意沒有d
,e
和f
)
{'a': 1, 'b': 2, 'c': 3}
添加回答
舉報
0/150
提交
取消