在Python中通过嵌套字典的最新索引获取值

2024-04-27 04:40:42 发布

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

如果我不知道所有键,如何通过嵌套字典的最新键获取值?你知道吗

例如:

dict = { students: { id1: value1, id2: value2, id3: value3} , lecturers: {}}
>>> dict[id2]
value2

另外,如果我想通过只写dict[id2]来更改或删除dict[students][id2]。。。你知道吗


Tags: 字典dictid3id2value1id1value2students
1条回答
网友
1楼 · 发布于 2024-04-27 04:40:42

正如在评论中提到的,“dict”在python中是一个特殊的词,不应该被重用为变量名,因为它会导致冲突和奇怪的行为。你知道吗

这里还值得记住的是,python中的字典(不一定)保留它们的顺序。From the docs:

It is best to think of a dictionary as an unordered set of key: value pairs, with the requirement that the keys are unique (within one dictionary).

您所做的是嵌套一个字典,因此第一个字典(key:students)将返回第二个字典(带有各种id等)。这也值得注意,除非您在其他地方为学生分配了一个值,否则不能将其用作键,它需要是字符串、元组或数字。你知道吗

所以-如果你的意思是“最深”,那么你需要使用这个结构:

dictionary_name['top_key']访问嵌套字典,然后是第二个键,给您一些类似于dictionary_name['students']['id1']的东西(注意这里的键名周围的引号!)你知道吗

如果你的意思是“最近添加的”中的“最新”,那么你需要使用不同的结构,like OrderedDict.我已经将其拆分,这样你就可以看到如何更新字典,这是问题的后一部分!你知道吗

from collections import OrderedDict
dictionary_name = OrderedDict()
dictionary_name.update({"student" : {} })

相关问题 更多 >