3

私の質問は簡単です。2 つのリストがあります。1 つ目は整数のリストです。

a = [1, 2, 3]

もう 1 つはリストのリストです。

b = [['a', 'b'], ['c', 'd'], ['e', 'f']]

以下の結果を得るにはどうすればよいですか:

result = [[1, 'a', 'b'], [2, 'c', 'd'], [3, 'e', 'f']]

ありがとう。

4

5 に答える 5

10
>>> a = [1, 2, 3]
>>> b = [['a', 'b'], ['c', 'd'], ['e', 'f']]
>>> [[aa] + bb for aa, bb in zip(a, b)]
[[1, 'a', 'b'], [2, 'c', 'd'], [3, 'e', 'f']]
于 2012-07-13T06:22:08.513 に答える
3

Python3 では

>>> a = [1, 2, 3]
>>> b = [['a', 'b'], ['c', 'd'], ['e', 'f']]
>>> [aa+bb for *aa, bb in zip(a,b)]
[[1, 'a', 'b'], [2, 'c', 'd'], [3, 'e', 'f']]
于 2012-07-13T06:37:07.033 に答える
0

Pythonのenumerate関数を使用すると、インデックス付きのリストをループできます。を使用x.extend(y)すると、リスト内の値がリストの前に追加xされますy

a = [1, 2, 3]
b = [['a', 'b'], ['c', 'd'], ['e', 'f']]

result = []
for index, value in enumerate(a):
    aa = [value]
    aa.extend(b[index])
    result.append(aa)
于 2012-07-14T19:22:01.007 に答える
0

これを行う別の方法は次のとおりです。

index = 0
l = b
for i in a:
    l[index].append(i)
    index += 1
于 2012-07-13T07:23:25.463 に答える
0

次の Python コードは、各リストをアンパックし、指定した形式に組み立てます。

[[a[i]] + b[i]  for i in range(min(len(a),len(b)))]
于 2012-07-13T06:44:25.897 に答える