位置と3種類のリストの要素を比較

Mtillerb:

マッチした同じ位置にある要素の少なくとも2場合、私は、その後、新しいリストに保存する、位置および3種類のリストの要素を比較しようとしています。

例えば:

a = [FF2, FF6, FC4]
b = [FB5, FB3, FC4]
c = [FF2, FB3, FM8]

Result = [FF2, FB3, FC4]

私は2つのリストを比較するために、次のコードを使用し、3つのリストのためにそれを適応させることを試みた、後のループのための余分を追加することによって、冒頭でfor i1もまたは、私の場合には追加することが、ほぼ10倍以上の値(恐ろしく間違っていました)出力として期待。

for i, v in enumerate(a):
    for i1, v1 in enumerate(b):
        if (i==i1) & (v==v1):
            Result.append(v)

これは、罰金を働いて、私の現在のアプローチですが、私は私にマッチした値を追加することができますどのようには考えていないResultリストを。

Result = list(x for x, (xa, xb, xc) in enumerate(zip(a, b, c))
     if xa == xb or xb == xc or xa == xc)
RDAS:
al = ['FF2', 'FF6', 'FC4']
bl = ['FB5', 'FB3', 'FC4']
cl = ['FF2', 'FB3', 'FM8']

res = []
for a,b,c in zip(al, bl, cl):
    if a == b or b == c or c == a:
        if a == b:
            res.append(a)
        elif b == c:
            res.append(b)
        elif c == a:
            res.append(c)

print(res)

あなたは、結果のリストに同じ時間&アペンドで3つのリストを反復処理することができます。使用するzip()

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=4786&siteId=1