如何将项目从一个列表添加到另一个?

时间:2019-03-01 06:49:19

标签: python-3.x

我在python中有一个list1,如下所示:

ls1

['A', 4, 'M', '1', 128.2, 169.818, '2019-02-27']
['B', 4, 'M', '1', 169.818, 172.3, '2019-02-25']

ls2

['2019-02-27','2019-02-25']

当我尝试从另一个列表中添加另一个日期项目时,它不是作为列表中每一行的一部分添加,而是作为一个单独的组件添加,如下所示:

ls3

['A', 4, 'M', '1', 128.2, 169.818, '2019-02-27'],
'2019-02-27',
['B', 4, 'M', '1', 169.818, 172.3, '2019-02-25'],
'2019-02-25'

我宁愿使用ls3作为:

['A', 4, 'M', '1', 128.2, 169.818, '2019-02-27','2019-02-27']
['B', 4, 'M', '1', 169.818, 172.3, '2019-02-25','2019-02-25']

1 个答案:

答案 0 :(得分:0)

您可以使用列表理解:

ls1 = [['A', 4, 'M', '1', 128.2, 169.818, '2019-02-27'], ['B', 4, 'M', '1', 169.818, 172.3, '2019-02-25']]
ls2 = ['2019-02-27','2019-02-25']

new_ls1 = [l1 + [l2] for l1, l2 in zip(ls1, ls2)]

一种更hack-ey的方式(不是更快,请使用第一个!)

new_ls1 = list(map(list, zip(*zip(*ls1), ls2)))

或者,如果您愿意,也可以就地操作:

for i, item in enumerate(ls2):
    ls1[i].append(item)