我有一个交换密钥及其值之一的小例子,但我没有让它工作:
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
and key
,但为什么输出没有改变(保持与原始相同dict1
)?
一个简单的自制解决方案,创建一个新的结果 dict 比更改旧的 dict 更好。
代码:
dict1 = {1: ['BB', 'CC', 'DD'], 2: ['FF', 'HH', 'GG']}
result = {}
for k,v in dict1.items():
if "BB" in v:
v.remove("BB")
result["BB"] = [k] + v
else:
result[k] = v
print(result)
结果:
{'BB': [1, 'CC', 'DD'], 2: ['FF', 'HH', 'GG']}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句