gpt4 book ai didi

python - 如何使用另一个列表中的匹配值索引来复制列表值?

转载 作者:行者123 更新时间:2023-12-01 05:26:16 24 4
gpt4 key购买 nike

我有两个列表:

A = [476, 1440, 3060, 3060, 500,500]
B = [0,4,10,15]

注意:列表 B 的长度将始终等于列表 A 中的个体加上配对值的数量。更新后的列表 B 将与列表 A 的长度匹配。

我想检查列表 A 中的重复值,并使用其索引位置来重复列表 B 中的相应值。例如,列表 A 具有 A[2]=A[3] 和 A[4]=A [5](3060和500),因此基于此我想复制 B[2] 和 B[3] 并将它们分别添加到 B[3] 和 B[5] 处。因此更新后的列表 B 如下所示:

B = [0,4,10,10,15,15] 

我尝试按照以下方式获取重复值的起始索引:

C = [x==A[i-1] for i,x in enumerate(A)][1:]

for idx,l in enumerate(C):
if l == True:
print "idx"

但是还不够,无法将此更改合并到列表 B 中。如有任何建议,我们将不胜感激。

最佳答案

这是一个简单的实现(不确定我是否正确理解了您的要求):

>>> from itertools import groupby
>>> A = [476, 1440, 3060, 3060, 500, 500]
>>> B = [0, 4, 10, 15]
>>> Result = []
>>> for i, g in enumerate(groupby(A)):
Result += [B[i]] * len(list(g[1]))


>>> Result
[0, 4, 10, 10, 15, 15]

关于python - 如何使用另一个列表中的匹配值索引来复制列表值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21277068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com