15

3 つのリストがあります。

del_ids = [2, 4]
ids = [3, 2, 4, 1]
other = ['a', 'b', 'c', 'd']

del_ids私の目標は、結果として削除することです

ids = [3, 1]
other = ['a', 'd']

要素を保持するためのマスク ( ) を実行しようとしましたが、mask = [id not in del_ids for id in ids]このマスクを両方のリストに適用する予定です。

しかし、これはpythonicの解決策ではないと感じています。どうすればこれを改善できるか教えてください。

4

4 に答える 4

2

圧縮、フィルター、解凍:

ids, other = zip(*filter(lambda (id,_): not id in del_ids, zip(ids, other)))
于 2013-08-01T13:30:00.043 に答える