-1

同じ長さの要素の 2 つのリストを比較する必要があります。(例として[0,562,256,0,0,856][265,0,265,0,874,958]. 両方のリストにはゼロの量と 249 を超える数の量があります。これらのリストを比較したいと思います。インデックスで両方のリストの数が異なる場合、0リストに保存する必要があります。結果は上記の数字のみの同じ長さの 2 つのリスト249(例では[256,856][265,958]) である必要があります。

4

2 に答える 2

3

zip()各リストの要素をペアにするために使用します。

listA = [0,562,256,0,0,856]
listB = [265,0,265,0,874,958]

combined = zip(listA, listB)
resultA = [a for a, b in combined if a and b]
resultB = [b for a, b in combined if a and b]

与えます:

>>> resultA
[256, 856]
>>> resultB
[265, 958]

filter()最初に使用して、一方または他方の要素が 0 であるすべてのペアを削除することもできます。

combined = filter(lambda (a, b): (a and b), zip(listA, listB))
resultA = [a for a, b in combined]
resultB = [b for a, b in combined]
于 2013-03-14T11:55:10.060 に答える