比较两个列表并查看两个元素是否存在于两个元素中但不在同一位置

时间:2017-11-28 18:33:45

标签: python list

我需要找到一种方法来说R和Y在两个列表中但不在正确的位置

    a = ['R','G','Y','Y']
    b = ['Y','R','B','O']         

1 个答案:

答案 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 }和bindex处有所不同。您可以通过更改条件来为此添加可变性。

例如,如果您只想找到' 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,)