【发布时间】:2015-11-17 11:09:59
【问题描述】:
我正在尝试使用过滤器函数和 lambda 过滤掉包含术语“FX”的列表中的项目。这工作正常:
MarketnoFX=list(filter(lambda x: "FX" not in x, Openmarket))
但是,这个列表需要与其他两个包含数值的列表耦合,所以如果这个列表中省略了第 x 项(通过创建一个新列表),那么它也必须从其他 2 个列表中省略.我通常会简单地使用列表推导。
Openmarket=[someitems]
coupled1=[]
coupled2=[]
for item in Openmarket:
if "FX" in item:
pass
else:
someotherlist.append(item)
k=Openmarket.index(entry)
someotherotherlist.append(coupled1[k])
但是,这样做不会产生正确的结果,并且在打印包含“FX”的项目的索引时,我得到例如它显示它两次找到第 12 和第 33 项,而第 71 项只找到一次.
过滤器功能似乎是一种更优雅的处理方式,但我如何将它与其他列表结合起来呢?我已阅读有关 zip 功能的信息,但我不确定如何在此处应用它。我不是一个非常有经验的 Python 程序员。
谢谢。
【问题讨论】: