我需要找到一种方法来说R和Y在两个列表中但不在正确的位置
a = ['R','G','Y','Y']
b = ['Y','R','B','O']
答案 0 :(得分:0)
真的很简单。
for index,val in enumerate(a):
if val in b:
if b[index]!= val:
print "%s is in both a and b, but at different indices."%(val,)
这将遍历a
并跟踪其当前索引。然后它检查该值是否在b
中(显然,它也在a
中。)如果是,则检查{{1}的值是否为a
}和b
在index
处有所不同。您可以通过更改条件来为此添加可变性。
例如,如果您只想找到' R'和' Y'曾经,那么你需要记录它们。尝试:
dup_values = set()
for index,val in enumerate(a):
if val in b:
if b[index]!= val:
if val not in dup_values:
dup_values.add(val)
print "%s is in both a and b, but at different indices."%(val,)