キーがタプルで、値が int の辞書がある場合、つまりx = {('G', 'N', 'L', 'C'): 4}
、キーの最初の要素が値と等しいことを Python に伝えるにはどうすればよい'G' = 4
でしょうか。これを行う方法はありますか?
1 に答える
2
新しい を形成したいようですdict
:
In [40]: x = {('G', 'N', 'L', 'C'): 4}
In [41]: y = {key[0]:val for key,val in x.iteritems()}
In [42]: y
Out[42]: {'G': 4}
これは、より少ない Python ベルとホイッスルを使用する別の方法です。最初に、辞書内の (キー、値) ペアをループできることに注意してください。
x = {('G', 'N', 'L', 'C'): 4}
for key in x:
print(key)
print(x[key])
収量
('G', 'N', 'L', 'C')
4
'G'
したがって、次の4
ように関連付ける新しい dict を定義できます。
x = {('G', 'N', 'L', 'C'): 4}
y = {}
for key in x:
y[key[0]] = x[key]
print(y)
# {'G': 4}
この式{key[0]:val for key,val in x.iteritems()}
は、上記の for ループとまったく同じことを行います。これは辞書内包表記と呼ばれます (「辞書内包表記」については、ページを少し下に検索してください)。
式はiteritems メソッドも使用します。これは、キーだけではなく、ループを通過するたびにキーと値の両方を提供します。
于 2013-04-02T19:08:46.493 に答える