实现字典条目

2024-06-28 19:58:26 发布

您现在位置:Python中文网/ 问答频道 /正文

请帮助修改脚本。它应该提供一个机会来介绍字典的一个新元素。你知道吗

keys = ['id', 'type', 'number'];

rec1 = {'id': 1, 'type': 'c', 'number': 111}
rec2 = {'id': 2, 'type': 'c', 'number': 222}
rec3 = {'id': 3, 'type': 'c', 'number': 333}

db = {}

db['c111'] = rec1
db['c222'] = rec2
db['c333'] = rec3

def outputDB():
    for record in db:
        print(record, ': ', db[record])
        for item in db[record]:    
            print(item, '--', db[record][item])
        print('-----')

action = int(input('1 - print, 2 - write'))

if(action == 1):
    outputDB()
else:
    indexKey = str(input('enter indexKey: '))
    db.a
    for key in keys:
        print('enter value for ', key)
        value = str(input('enter value: '))
        db[indexKey][key] = value
    outputDB() 

但在上一个循环中,我得到了一个错误:

Traceback (most recent call last):   File
"C:\Python33\projects\p3_dvd_list\index.py", line 35, in <module>
    db[indexKey][key] = value KeyError: 'qqq'

Tags: keyinidnumberforinputdbvalue
1条回答
网友
1楼 · 发布于 2024-06-28 19:58:26

在将值赋给db[indexKey]键之前,需要将dict赋给db[indexKey]

这是:

db[indexKey] = dict()
db[indexKey][key] = value

不是这个:

db[indexKey][key] = value  # won't work; assumes db[indexKey] is already a dict, but you haven't assigned a value to it

相关问题 更多 >