所以我有2个名单:
L1 = ['a', 'b', 'c', 'd']
L2 = ['1', '2', '3', '4']
我需要我的结果看起来像这样:
['a1', 'b2', 'c3', 'd4']
我使用了for循环,但我似乎无法做到正确。这就是我所做的:
L3 = []
L1 = ['a', 'b', 'c', 'd']
L2 = ['1', '2', '3', '4']
for i in range(len(L1)):
L3 += L1[i] + L2[i]
print(L3)
我的结果最终看起来像:
['a', '1', 'b', '2', 'c', '3', 'd', '4']
这就是我的全部。任何帮助将不胜感激!
答案 0 :(得分:7)
zip
函数生成一个迭代器,它按顺序从每个参数返回元组:
L3 = [x + y for x, y in zip(L1, L2)]
答案 1 :(得分:4)
L3 += L1[i] + L2[i]
相当于L3.extend(L1[i] + L2[i])
L1[i] + L2[i]
是一个类似'a1'的字符串。 extend
期望一个可迭代的,它会将每个元素附加到列表中。因此,它迭代你的'a1'字符串并将元素'a'和'1'附加到列表中。
您希望append
代替字符串:
L3.append(L1[i] + L2[i])
Mark Tolonen指出,
L3 += [L1[i] + L2[i]]
也有效。它相当于L3.extend([L1[i] + L2[i]])
,例如L3.extend(['a1'])
。在这种情况下,extend
会将它收到的列表中唯一的元素作为参数'a1'附加到L3。
答案 2 :(得分:1)
您只需将+=
操作更改为.append
:
for i in range(len(L1)):
L3.append(L1[i] + L2[i])
答案 3 :(得分:0)
L3 = []
L1 = ['a', 'b', 'c', 'd']
L2 = ['1', '2', '3', '4']
for i in range(len(L1)):
L3.append(str(L1[i])+str(L2[i]))
print(L3)
答案 4 :(得分:0)
与使用列表理解的另一个答案类似:
L3 = [L1[i]+L2[i] for i in range(len(L1))]