假设我有一个列表 a 和列表 b :
a = ['1','2','3']
b = [['Hello'],['I'],['am']]
我怎样才能获得以下输出?
b = [['Hello','1'],['I','2'],['am','3']]
我尝试了各种各样的事情,如下所示。
for i in a:
for j in range(b):
j.append(i[j])
print(b)
编辑: 我正在寻找一种方法来做到这一点,以防两个列表的长度不同,副本没有回答。如果您查看已接受答案的评论,您将完成解决方案。
答案 0 :(得分:1)
您可以使用zip
列表理解:
r = [[s[0], n] for (n, s) in zip(a, b)]
评论后更新:
如果您的列表长度不同,则可以使用itertools.zip_longest
等
from itertools import zip_longest
r = [s if n is None else
[n] if s is None else
[s[0], n] for (n, s) in zip_longest(a, b)]
答案 1 :(得分:0)
试试这个;
>>> a = ['1','2','3']
>>> b = [['Hello'],['I'],['am']]
>>> ab = [[b[i][0], a[i]] for i in range(len(a))]