Python 在字典中的列表中寻址值;制作一个变量'literal'

Python Addressing Value in a List in a Dictionary; Making a variable 'literal'

我 100% 确定这是一项基本任务,但问题是我不知道我需要使用什么术语来找到解决方案。换句话说,很抱歉这可能是一个基本的“已经回答”的问题!!

好的,我有这个设置:

    myDict = {
    "first": [0,"",0],
    "second": [0,"",0],
    "third": [0,"",0]
}

dictList = *Some code to make an array of above dictionaries*

for entry in dictList:
    for i in ("first", "second", "third"):
        entry[i[1]] = "Info"

目标是让代码生成字典:

myDict = {
        "first": [0,"Info",0],
        "second": [0,"Info",0],
        "third": [0,"Info",0]
    }

然而,这只会引发有关无效键值的错误,因为代码不是使用“i[1]”作为对键“first”的引用,而是将其翻译为文字字符串“first”的索引 1 ”。所以我对此的最佳表述是如何为多级引用指定操作顺序。但结果只是数学教程。

如何设置此双重引用的格式,以便 python 将“i”读作字典的键而不是文字字符串?更重要的是,对于未来的自给自足,用什么技术术语来描述这种情况?

谢谢大家!

您的索引位置错误。

你的意思是:

entry[i][1] = "Info"

dictList 是一个字典列表。

每次循环,entry 都是(不同的)其中一个指令。

entry["first"] 将是该字典中的列表之一。 (或 entry[i],当 i == "first"。)

entry["first"][1] 将是该列表的第二个元素。

Python 让它更容易。可以迭代字典值,直接修改

myDict = {
    "first": [0,"",0],
    "second": [0,"",0],
    "third": [0,"",0]
}

for v in myDict.values():
    v[1] = "Info"

print(myDict)

打印

{'first': [0, 'Info', 0], 'second': [0, 'Info', 0], 'third': [0, 'Info', 0]}