1. ホーム
  2. python

[解決済み] インデックスを値としてリストを辞書に変換するには?

2022-12-03 19:54:28

質問

以下のリストを変換しようとしています。

l = ['A', 'B', 'C']

のような辞書に。

d = {'A': 0, 'B': 1, 'C': 2}

私は他の投稿から答えを試してみましたが、どれも私のために動作していません。私は今のところ、次のコードを持っています。

d = {l[i]: i for i in range(len(l))}

とすると、こんなエラーが出ます。

unhashable type: 'list'

どのように解決するのですか?

リストのインデックスを取得するには、組み込みの enumerate . インデックス-バリューマップを逆にして、辞書内包で辞書を作ればいいのです。

>>> lst = ['A', 'B', 'C']
>>> {k: v for v, k in enumerate(lst)}
{'A': 0, 'C': 2, 'B': 1}