3

次のようなリストがあります。

listedd = ['AAA', 'K', 'AAC', 'N', 'AAG', 'K',]

そして、私はそれを次のような辞書に変換したい:

{'AAA':'K', 'AAC': 'N', 'AAG':'K'}
4

5 に答える 5

4

リストを 2 つずつステップ実行し、結果を一緒に圧縮して、キーと値のペアになるタプルのリストを作成し、そのタプルのリストを辞書に変換します。

>>> dict(zip(l[::2],l[1::2]))
{'AAG': 'K', 'AAA': 'K', 'AAC': 'N'}
于 2013-08-27T14:30:43.160 に答える
0

最短の方法はスライスを使用することだと思います:

>>> listedd = ['AAA', 'K', 'AAC', 'N', 'AAG', 'K',]
>>> result = dict(zip(listedd[::2], listedd[1::2]))
{'AAA': 'K', 'AAC': 'N', 'AAG': 'K'}

このコードは、リストのすべての偶数要素を奇数要素に実際にマップします。

更新: 以前の投稿を見逃していました。申し訳ありません))

于 2013-08-27T14:34:15.887 に答える
0

iterandを使用する別の方法zip:

dict(zip(*[iter(listedd)]*2))

または、短いプログラムよりも長いプログラムを好む場合:

>>> listedd = ['AAA', 'K', 'AAC', 'N', 'AAG', 'K',]
>>> it = iter(listedd)
>>> z = zip(it,it)
>>> d = dict(z)
>>> print d
{'AAG': 'K', 'AAA': 'K', 'AAC': 'N'}
于 2013-08-27T14:50:59.487 に答える