【发布时间】:2014-02-12 03:57:35
【问题描述】:
我有两个列表:
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 的时间很短。任何建议都将不胜感激。
【问题讨论】:
-
List
B总是独一无二的吗?如果相同的数字在A中出现两次以上怎么办 -
两个列表都会不断变化。相同的数字只会在列表 A 中出现两次,不会超过。
-
如果
A = [200, 500, 3060, 3060, 500]和B = [0,4,10,15]你会怎么回答? -
情况并非如此。 A 中的重复值将彼此相邻。
-
你应该添加一个更好的例子,一个包含多个重复项的例子。
标签: python list python-2.7