python-3.x - 发现一个值中有多少个列表
问题描述
my_dict = {"fruits": ["apple", "orange", "grape", "maracuya", "pineapple"],
"countries": [["India", "China", "Brazil", "Lesotho", "Nepal"],
["Spain", "Italy", "Japan", "Indonesia", "Russia"],
["Germany", "Austria", "Paraguay", "New Zealand", "Peru"],
["Australia", "Colombia", "Belice", "Swaziland"]],
"colors": [["blue", "black", "green", "yellow", "red"],
["purple", "pink", "white", "lila"]]}
有没有办法知道我在每个键下有多少个列表?例如:在关键字“水果”下我只有一个,在“国家”下我有 4 个
我尝试过的主要是:
for key, values in my_dict.items():
print(len(values))
这没有用
for key in my_dict.values():
print(len(key))
也失败了
解决方案
我的第一个问题是您是否也想将水果列表放入另一个列表中。那么所有案例的结构都是相同的,解决方案很简单:
{key: len(value) for key, value in my_dict.items()}
否则,如果你想坚持你发布的数据结构,你可以这样做:
{key: len(value) if isinstance(value[0], list) else 1 for key, value in my_dict.items()}
这将导致:
{'colors': 2, 'countries': 4, 'fruits': 1}
我必须承认,这个解决方案中有很多假设。如果您想在任何地方查找所有列表,那将使其变得更加复杂。
推荐阅读
- c++ - C++ 随机 ID 和随机答案
- css - 您知道为什么搜索图标没有以白色背景显示并且下拉菜单未在右侧对齐吗?
- r - R删除xml数据中的重复兄弟
- c - 在 C 中使用 fgets 和 strtok 读取文件并将信息保存在喜欢的列表中
- angular - 如何在 Snackbar 中设置消息
- python - 熊猫,转换具有相同日期时间索引值的行
- oracle - Oracle SQL 表在 Create 语句上显示缺少右括号为什么?
- python - 使用 matplotlib python 为决策树分类器绘制 2 个以上的特征
- selenium-chromedriver - 使用 Chrome 驱动程序的 C# Selenium 代理身份验证
- python - 在其他功能中导入模块