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