Python 字典中具有多个键的行为
如果我用两个相同的键创建一个字典,如下所示,Python 字典中具有多个键的行为,python,dictionary,Python,Dictionary,如果我用两个相同的键创建一个字典,如下所示,name出现两次: test={'name':'hello','test':'rawr','next':'muhaha','name':None,'la':'alala'} python在这个设置中是如何工作的,它是保留两个键,还是只保留一个键?如果我做测试['name'],它是否总是返回某个值 在我自己的测试中,它返回第二个,只是寻找更多的信息。根据定义,显示(列表、dict和集合的文字语法)是从左到右计算的;看 这意味着对于像您的示例这样的dict
name
出现两次:
test={'name':'hello','test':'rawr','next':'muhaha','name':None,'la':'alala'}
python在这个设置中是如何工作的,它是保留两个键,还是只保留一个键?如果我做测试['name']
,它是否总是返回某个值
在我自己的测试中,它返回第二个,只是寻找更多的信息。根据定义,显示(列表、dict和集合的文字语法)是从左到右计算的;看
这意味着对于像您的示例这样的dict文本,最后一个值总是“赢”。(并且键是唯一的,因此不能有多个值。)当您将该行复制/粘贴到解释器中时,会得到什么?这基本上回答了你的问题。字典中不能有重复的键,当你试图为字典中已经存在的键设置值时,它会覆盖上一个值。@Jon Clements返回第二个值,然而,我只是想了解更多关于“幕后”发生了什么的信息。字典只能将唯一的键映射到值,这就是映射的定义。从:如果某个键出现多次,则该键的最后一个值将成为新词典中的对应值。@nazerb:您可以编辑您的问题,然后显示您要查找的信息类型吗?例如,这里还有许多关于堆栈溢出的文章详细介绍了Python字典实现的工作原理。参见和,例如。