我正在创建一个程序,要求用户对词典进行更改。我可以使用普通词典来完成这些操作,但是建议我将数据保存在“子词典”中,如下所示。
我试图查看是否可以通过更改每个条目中所有字段的值来使其正常工作,但即使这样似乎也不起作用。我对python很陌生,所以请多多包涵!
VDatabase = {
"1200033944833": {
'MAP' : 'XXXX',
'CODE' : '0123',
'Method': 'R',
'Code1': 'S093733736',
'Reg ID' : '01'
}
Search = input("Search ACCOUNT:")
tmp_dict = VDatabase.get(Search, None)
print(tmp_dict if tmp_dict else "No ACCOUNT Found. \"{}\"".format(Search))
VDatabase["CODE"] = input("Enter CODE:")
print("Changing CODE...")
我一直想将CODE的值更改为用户输入是什么。
不幸的是它什么也没做,我可以更改常规的Dictionary,所以我认为这是因为它是“ sub-dictionary”,所以我将如何访问这些值?
答案 0 :(得分:1)
在此行中,
VDatabase["CODE"] = input("Enter CODE:")
您试图直接在VDatabase中更改“ CODE”的值,而不是在搜索的子词典中更改。
Search = str(input("Search ACCOUNT:"))
tmp_dict = VDatabase.get(Search, None)
print(tmp_dict if tmp_dict else "No ACCOUNT Found. \"{}\"".format(Search))
VDatabase[Search]["CODE"] = str(input("Enter CODE:"))
print(VDatabase[Search])
或
tmp_dict['CODE'] = str(input("Enter CODE:"))
您将看到主要词典已更改。
我将输入类型更改为str,以便搜索时该值不会是整数。