2

私はこの辞書を持っています

total_values = {'a':1, 'b':2, 'c':3}

次に、この辞書を複数値の辞書に変換したいと思います。お気に入り

total_values = {'a':(1,False), 'b':(2, True), 'c':(3, True)}

それを行うための最もPython的な方法を教えてください...

True値とFalse値がどのように決定されるかは重要ではありません。これに使用できるブール変数の値として、これを想定してください。

4

2 に答える 2

6

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の答えは正しい方向にあります。

于 2012-07-15T11:21:27.297 に答える
4

ランダムにすることもできます:

from random import choice
for key in total_values:
    total_values[key] = (total_values[key], choice((True, False)))
于 2012-07-15T11:22:05.443 に答える