当我尝试使用 dict(x) 创建字典时,其中 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根据我的理解,这个错误是在调用更新函数时只使用一个值(而不是键值对)引起的。我知道嵌套函数调用有问题,但找不到。我怎样才能得到一部分字典项目?有没有一种方法可以在不实际遍历整个字典并更新到新字典的情况下做到这一点?
3 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
您可以islice
在Counter
(这是一个 dict 子类,因此不需要 dict 转换)对象的项目上使用,然后使用 dict 构造函数将切片项目转换为 dict。
例如,
dict(islice(Counter('abbcccddeeff').items(), 3))
返回:(注意没有d
,e
和f
)
{'a': 1, 'b': 2, 'c': 3}
添加回答
举报
0/150
提交
取消