【发布时间】:2021-07-05 20:31:23
【问题描述】:
我有一个交换密钥及其值之一的小例子,但我没有让它工作:
dict1 = {1: ['BB', 'CC', 'DD'], 2: ['FF', 'HH', 'GG']}
print(dict1)
for key in dict1:
for value in dict1[key]:
if value == 'BB':
temp = key
key = value
value = temp
print(dict1)
当前输出:
{1: ['BB', 'CC', 'DD'], 2: ['FF', 'HH', 'GG']}
期望的输出:
{BB: [1, 'CC', 'DD'], 2: ['FF', 'HH', 'GG']}
我用temp交换了value和key,但是为什么输出没有变化(和原来的dict1一样)?
【问题讨论】:
-
所需的输出没有意义——你不能在字典中有重复的键。
list1真的是一个字典。我不明白这里的逻辑。请澄清。 -
我推荐Python visualization和Python names帮助你理解。
-
我认为这个问题很清楚,但它需要对 Python 从根本上如何工作的一些解释作为答案。
-
简短的回答是:
key和value是这里的新变量(即它们是原始key和value的副本)。
标签: python dictionary