python - 通过用户输入编辑词典 - Python

标签 python dictionary

我正在创建一个程序,要求用户对字典进行更改。我可以使用普通字典来完成这些操作,但是建议我将数据保存在“子字典”中,如下所示。

我尝试看看是否可以通过更改每个条目中所有字段的值来使其工作,但即使这样似乎也不起作用。我对 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 的值更改为用户输入的值。

不幸的是,它没有做任何事情,我可以更改常规字典,所以我认为这是因为它是一个“子字典”,所以我将如何访问这些值?

最佳答案

在这行,

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("输入代码:"))

您将看到主词典已更改。

我已将输入类型更改为 str,以便搜索时值不会是整数。

关于python - 通过用户输入编辑词典 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55968996/

相关文章:

python - 防止 python 脚本在没有用户输入任何可选参数的情况下运行

c++ - 输入 map 值的标准输入

python - 将字典压缩成字典的字典

python - 组合字典键的大量重叠间隔的值

python - Esky更新导致事务处理文件操作错误

python - Matplotlib:创建两个分别与两个 y 轴一致的子图

python - 将pygame中的图像转换为二维RGB值数组

python - 如何对 pyspark 使用 one-hot 编码或 get_dummies 并将列表作为列中的值?

python - 展平嵌套字典 - 将列表元素转换为字符串

Haskell 歧义事件——如何避免?