1

c = d[s[0]]ここcで、 は新しい変数、dは辞書、sはリストです。

私がやろうとしているのは、リストの最初の要素と同じキーの値を に割り当てることですc。キーが辞書にあり、リストの最初の要素がそのキーと同じであることはわかっています。そのキーの値を変数に割り当てるにはどうすればよいですか? 私が書いたコードでは、インデックス不足エラーが発生します。

ただし、コード:

a = s[0]
c = d[a]

動作します。最初の試行が機能しないのはなぜですか? これは、Windows 上の Python 2.7 用です。

4

1 に答える 1

1

なぜそれがうまくいかないのかわかりません。たぶん、あなたlistは結局は移入されていません。これはうまくいくはずです-

>>> d={'world':'hunger'}
>>> s=['world']
>>> d[s[0]]
'hunger'
>>> c = d[s[0]]
>>> c
'hunger'
>>> 

また、Python 辞書には と呼ばれる気の利いた機能がありhas_keyます。その辞書にキーが存在するかどうかを確認します。KeyErrorこれを使用して例外を防ぎます...不都合なクラッシュを防ぐためにこれを使用することを検討できます。

于 2013-04-11T04:31:07.340 に答える