python - 如何为列表中的出现次数制作字典
问题描述
我正在尝试制作一个字典,它将列表中字符串出现的长度作为键,然后将出现的次数作为值。
例如,如果我有这个列表:
x = ['ABC','GOOGLE','BCD','GOOGLY', 'A','A']
字典结果看起来像这样:
d = {3:2, 6:2, 1:2}
键 3 表示在列表中,长度为 3 的索引出现 2 次(“ABC”和“BCD”)。
这是我能想到的最好的尝试:
d = {len(x.count()):len(x.count()) for (key, value) in x} #wrong
我怎么能这样做呢?
谢谢您的帮助!
解决方案
您可以分两步完成,首先创建单个项目的长度列表,然后从计数列表中创建字典。
c = [len(item) for item in x]
d = {item:c.count(item) for item in c}
推荐阅读
- c# - 使用 Ghostscript 将 PDF 转换为图像
- c++ - 如何正确使用“C++ 核心指南:C.146:在类层次导航不可避免的情况下使用 dynamic_cast”
- angular - 如何存储来自 Angular 的 HTTP 调用的授权令牌?
- angular - 条纹实现 - 错误 TS2339:“条纹”类型上不存在属性“元素”
- pyspark - 如何在pyspark中从与上一年相同的列中减去行值?
- java - 如何从对象中获取字段
- node.js - 验证资源服务器上的访问令牌
- python - 如何让 GDAL 与 Google GCLOUD 一起工作
- javascript - NodeJS:从 JSON 中提取数据,修改对象并将其发送回同一个 JSON 文件
- data-structures - 如何添加相互数据收集