我有这本词典
total_values = {'a':1, 'b':2, 'c':3}
现在我想把这本字典转换成多值字典。像
total_values = {'a':(1,False), 'b':(2, True), 'c':(3, True)}
请告诉我最pythonic的方式来做到这一点......
如何确定 True 和 False 值并不重要,假设它是我可以用于此的布尔变量的值。
我有这本词典
total_values = {'a':1, 'b':2, 'c':3}
现在我想把这本字典转换成多值字典。像
total_values = {'a':(1,False), 'b':(2, True), 'c':(3, True)}
请告诉我最pythonic的方式来做到这一点......
如何确定 True 和 False 值并不重要,假设它是我可以用于此的布尔变量的值。
在 2.6 中:
dict( (k, (v, <boolean expression>)) for (k, v) in total_values.iteritems() )
在 2.7 中:
{ k:(v, <boolean expression>) for (k, v) in total_values.iteritems() }
在 3.0 中,(感谢@C2H5OH):
{ k:(v, <boolean expression>) for (k, v) in total_values.items() }
请注意,这些解决方案创建了一个全新的字典。如果您想修改现有字典,@MartijnPieters 的答案是正确的方向。
也可以让它随机:
from random import choice
for key in total_values:
total_values[key] = (total_values[key], choice((True, False)))