为了账号安全,请及时绑定邮箱和手机立即绑定

作为 collections.Counter 的结果的字典切片

作为 collections.Counter 的结果的字典切片

UYOU 2021-06-29 18:50:07
当我尝试使用 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个赞

您可以isliceCounter(这是一个 dict 子类,因此不需要 dict 转换)对象的项目上使用,然后使用 dict 构造函数将切片项目转换为 dict。

例如,

dict(islice(Counter('abbcccddeeff').items(), 3))

返回:(注意没有d,ef

{'a': 1, 'b': 2, 'c': 3}


查看完整回答
反对 回复 2021-07-06
  • 3 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信