0

私はオンラインクラスに取り組んでおり、質問の1つでは、リストのインデックスに基づく名前と、次のリストと辞書を使用したキーに基づく理解の給与を一致させる必要があります。

d = {0:1000.0, 1:1200.50, 2:990}
names = ['Larry', 'Curly', 'Moe']
listdict2dict = { ... }

望ましい出力:

{'Larry':1000.0,'Curly':1200.50,'Moe':990}

私は次のように書いています。

{names[x]:y for x in range(len(names)) for y in d.values() if x == d.keys()}

これは空のセットを返します。

誰かがこれを修正する方法のヒントまたは2つ(コードの回答ではない)を教えてもらえますか?

ありがとう!

4

1 に答える 1

4
>>> {name: d[i] for i, name in enumerate(names)}
{'Larry': 1000.0, 'Moe': 990, 'Curly': 1200.5}

d.values()で名前を繰り返し処理し、enumerateそのインデックスを使用して給与を取得するだけdです。

編集後:

あなたの比較x == d.keys()はまだ機能しません。xリストと比較しても意味のない整数になりました。

あなたはそれを過度に複雑にしていると思います。変数の型と、比較が意味があるかどうかを覚えておいてください。

于 2013-07-15T20:17:47.753 に答える