查找列表的长度

2024-06-16 13:13:20 发布

您现在位置: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]

我无法获得每个磁盘的备份计数


Tags: namedatavmdetailsbackupprintdetailappend
1条回答
网友
1楼 · 发布于 2024-06-16 13:13:20
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}

相关问题 更多 >