我有以下结构的嵌套列表:
nested = [["a","b"], ["c", "d"]]
我现在想坚持这个结构,但是如果元素属于另一个列表,就删除它们。
假设这个列表是stoplist = ["a","z"]
所以结果是:
^{pr2}$
我希望我遗漏了一件简单的事情,但在这种情况下,我似乎无法理解列表:
^{3}$
它运行,但返回以下结果:['c', 'c', 'd', 'd']
怎么回事,怎么解决?在
注意:我知道这可以用append来完成,但是我希望避免这种情况,因为我将处理大文件。在
Tags:
还有一个方法,将非索引字表设为集合,然后使用集合差分运算:
试试看
请注意,只有当
nested
嵌套一层时,这才有效。在也许是像
尽管如果
^{pr2}$stoplist
中的内容是可散列的,那么将其设为set
可能会更快(尽管很难猜测非常小的集合timeit
并找出它是否重要)。在您当前的listcomp可以解压到
这(这让我困惑了几分钟)根本不应该起作用。它一定是从先前运行的
List
中提取的。在请注意,在列表理解中编写嵌套的顺序与编写等效的嵌套for循环的顺序相同。在
相关问题 更多 >
编程相关推荐