我有一个这样的清单:
list_target = [4, 5, 6, 7, 12, 13, 14]
list_primer = [3, 11]
因此list_target
由连续值的块组成,其间是值的跳跃(如from7
到12
)。list_primer
由这些块开头的值组成。中的元素list_primer
是在另一个过程中生成的。
我的问题是:对于的每个元素list_primer
,我如何识别其中的区块list_target
并将其值替换为我想要的?例如,如果我选择与第一块以替换值1
,并与第二0
,结果看起来像:
list_target_result = [1, 1, 1, 1, 0, 0, 0]
这是一个简单的算法,它通过循环遍历两个列表来解决您的任务:
list_target = [4, 5, 6, 7, 12, 13, 14]
list_primer = [3, 11]
block_values = [1, 0]
result = []
for i, primer in enumerate(list_primer):
for j, target in enumerate(list_target):
if target == primer+1:
primer += 1
result.append(block_values[i])
else:
continue
print(result)
[1, 1, 1, 1, 0, 0, 0]
请注意,根据使用情况,如果并非所有模块都有相应的入门手册,您可能会遇到麻烦。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句