python中的多个列表

时间:2016-02-18 19:47:25

标签: python list zip

我有什么:

a = [[1,2,3,4,5],[2,3,4,5]]


b = [["hallo"]],[["bye"]] 

我想要的是什么:

new1 = [[1,2,3,4,5],"hallo"]
new2 = [[2,3,4,5],"bye"]

最困难的部分是我希望它以一种方式,当用户在a和b中放入一个额外的列表时,它不会出错但会自动将新输入添加到新列表中(例如新的3 [带有[第三个] ],[b"第三"]]

我希望有人可以帮助我!

2 个答案:

答案 0 :(得分:3)

IIUC你可以使用zip功能:

In [31]: new1, new2 = map(list, zip(a, b))

In [32]: new1
Out[32]: [[1, 2, 3, 4, 5], [['hallo']]]

In [33]: new2
Out[33]: [[2, 3, 4, 5], [['bye']]]

答案 1 :(得分:1)

您可以使用zip并解压缩:

>>> new1, new2 = list(zip(a, [x[0][0] for x in b]))
>>> new1
([1, 2, 3, 4, 5], 'hallo')
>>> new2
([2, 3, 4, 5], 'bye')

显然,额外的列表要求您将代码调整为n项而不是假设两项,但技巧是相同的。