我有这个词典
转换单值字典,词典多值在python
total_values = {'a':1, 'b':2, 'c':3}
现在我想这本词典转换成多值之一。 像
total_values = {'a':(1,False), 'b':(2, True), 'c':(3, True)}
请告诉我最Python的方式来做到这一点....
如何true和false值确定没关系,想它为布尔变量的值我可以使用这个..
我有这个词典
转换单值字典,词典多值在python
total_values = {'a':1, 'b':2, 'c':3}
现在我想这本词典转换成多值之一。 像
total_values = {'a':(1,False), 'b':(2, True), 'c':(3, True)}
请告诉我最Python的方式来做到这一点....
如何true和false值确定没关系,想它为布尔变量的值我可以使用这个..
不妨让它随机:
from random import choice
for key in total_values:
total_values[key] = (total_values[key], choice((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的answer是正确的方向。
Python 3的语法就像字典表达式一样2.7。 – 2012-07-15 11:26:19
在Python 3.0中就像在2.7中一样,但是你需要用'.items()'改变'.iteritems()'。而且,'for'关键字后面的'(k,v)'后面的括号在所有版本中都是可选的。 – C2H5OH 2012-07-15 11:26:30
@ C2H5OH:感谢您的澄清。括号是个人选择;因为总是忽略它们是不切实际的,所以总是使用它们更容易,更易读。 – 2012-07-15 11:31:05
我们需要更多的细节;什么决定了布尔值? – 2012-07-15 11:20:44
布尔值doesn;这里很重要..watever它可以..只是需要知道转换的方式。,,, – 2012-07-15 11:21:50