python - 查找列表的长度
问题描述
下面是我的代码。我需要一些帮助来获取预期的输出。
name = []
backup = []
data = {
"details": [
{"vm": "disk1", "backupname": "backup1"},
{"vm": "disk1", "backupname": "backup2"},
{"vm": "disk1", "backupname": "backup3"},
{"vm": "disk2", "backupname": "newbackup"}
]
}
for detail in data["details"]:
name.append(detail['vm'])
backup.append(detail['backupname'])
print(name)
print(backup)
实际输出:
name = ['disk1', 'disk1', 'disk1', 'disk2']
number of backup = ['backup1', 'backup2', 'backup3', 'newbackup']
预期输出:
name = ['disk1', 'disk2']
number of backup = [3, 1]
我无法获得每个磁盘的备份计数。
解决方案
name = {}
backup = {}
data = {
"details":[{"vm":"disk1","backupname":"backup1"},{"vm":"disk1","backupname":"backup2"},
{"vm":"disk1","backupname":"backup3"},{"vm":"disk2","backupname":"newbackup"}]}
for detail in data["details"]:
if not name.get(detail['vm']):
name[detail['vm']] = 1
else :
name[detail['vm']] += 1
print(name)
输出:
{'disk1': 3, 'disk2': 1}
推荐阅读
- c# - 我在 datagridview 中选择了一列作为数组,如何显示选定的数组值?
- c++ - 访问器函数可以调用纯虚函数吗?
- c - 链接和使用头文件有什么区别?
- java - 数据库保存后是否真的有必要从事务中返回保存的实体?
- c# - HTML 电子邮件正文 Base64 图像未显示
- google-apps-script - 使用 .getas 将图表 blob 保存为图像会导致 Google Script 中出现服务错误
- python - 如何将枚举整数保存到空列表?
- amazon-web-services - Websocket 在连接建立之前关闭
- excel - 试图理解这个关于用户表单的 VBA 代码
- swift - 我应该如何将文本设置到 tableview 上的文本字段中?