使用其他lis的数据更新列表

2024-06-28 15:34:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个列表,我想创建一个第三个,结合两个列表中的信息,将值分配给从第一个列表导出的位置,并使用从第二个列表计算出的实际值。。。一个例子可能更具解释性:

list1 = [ 0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0]
list2 = [ 0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0]

我要创建的新列表应包含第二个列表在原始1值间隔内的总和:

list3 = [ 0,0,0,3,3,3,3,3,0,0,0,2,2,2,2,0]

有什么建议吗?我对Python很陌生。 我想用一些itertool,但不会太远。。。你知道吗

提前谢谢你的提示。你知道吗


Tags: 信息列表间隔建议例子总和list2list1
1条回答
网友
1楼 · 发布于 2024-06-28 15:34:41

只有一种方法,检测list1中的组并处理list2中每个组的对应元素。你知道吗

list1 = [ 0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0]
list2 = [ 0,0,0,1,0,1,1,0,0,0,0,0,0,1,1,0]

from itertools import groupby, islice
it2 = iter(list2)
result = []
for k, g in groupby(list1):
    n = len(list(g))
    result += [k * sum(islice(it2, n))] * n

print(result)

印刷品:

[0, 0, 0, 3, 3, 3, 3, 3, 0, 0, 0, 2, 2, 2, 2, 0]

相关问题 更多 >