1

重複の可能性:
2 つのリストを辞書に変換する方法 (一方のリストはキーで、もう一方は値)?

整数のリストがある場合:

L=[1,2,3,4]

タプルリストのリストがあります:

K=[('a','b'),('c','d'),('e','f'),('g','i')]

キーがKのアイテムで、値がLの整数であるdictのリストを作成するにはどうすればよいですか。各整数はKのアイテムに対応しています

d={('a','b'):1,('c','d'):2,('e','f'):3,('g','i'):4}
4

3 に答える 3

5

zip()2 つの iterable を組み合わせてペアにし、それをdictコンストラクターに渡すために使用します。

d = dict(zip(K, L))

dict簡単なデモ (順序を保持しないことを考慮してください):

>>> L=[1,2,3,4]
>>> K=[('a','b'),('c','d'),('e','f'),('g','i')]
>>> dict(zip(K, L))
{('e', 'f'): 3, ('a', 'b'): 1, ('c', 'd'): 2, ('g', 'i'): 4}

for ループと no を使用zip():

d={}
for i, key in enumerate(K):
    d[key] = L[i]
于 2012-11-24T06:05:30.970 に答える
0

for ループを使用する必要がある場合 (これは宿題ですか?)、次のように実行できます。

d = {}
for i in xrange(len(K)):

最後の行を自分で把握する必要があります。

インデックスのループは、他の言語でも使用できる手法であり、Python では (ごくまれに) 必要になることがあります。一般に、Python の高水準言語機能を使用して、コードを読みやすく、読みやすく、デバッグしやすくする必要があります。

于 2012-11-24T08:06:05.013 に答える
0

あなたはそれを行うことができるはずですzip

zipped = zip(K, L)
d = dict(zipped)
于 2012-11-24T06:07:14.133 に答える