を使用するときに重複する値を含むエントリを除外するためのエレガントまたはpythonicな方法はありますzip
か?
例として:
>>> list1 = [0, 1]
>>> list2 = [0, 2]
>>> zip(list1, list2)
[(0, 0), (1, 2)]
2 番目の要素だけが必要[(1, 2)]
です。現在、私は
[x for x in zip(list1, list2) if len(set(x)) == len(x)]
しかし、これは少し退屈に感じます。これを行うより良い方法はありますか?
編集:そして、これを2つ以上のリストがある一般的なケースにどのようにスケーリングしますか?
>>> list1 = [0, 1]
>>> list2 = [0, 2]
>>> list3 = [0, 3]
>>> ...
>>> zip(list1, list2, list3, ...)
いずれかのエントリに重複する値が含まれている場合は、破棄する必要があります (タプル内のすべての値が等しい必要はありません)。