我有三个列表:过滤两份名单同时
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解决方案。你能告诉我怎样才能做得更好吗?
感谢您的回答,您可以告诉我的明星是什么,在这种情况呢?这种形式的理解对我来说是新的。 :O –
@BarnabasSzabolcs:它将序列(来自生成器表达式的所有对)作为单独的参数应用于'zip()'函数。 'zip()'见'zip(pair1,pair2,pair3等)',然后将所有这些对拉成两个列表。 –
@BarnabasSzabolcs:'(.. for .. in ..)'构造是一个生成器表达式。这很像列表理解('[.. for .. in ..]'),除非它不会在内存中首先创建一个新列表。 –