小能豆

如何根据条件对列表进行分区(拆分、划分)?

javascript

我有一些如下代码:

good = [x for x in mylist if x in goodvals]
bad = [x for x in mylist if x not in goodvals]

目标是mylist根据内容是否满足条件将其分成另外两个列表。

我怎样才能更优雅地做到这一点?我可以避免进行两次单独的迭代吗mylist?这样做可以提高性能吗?


阅读 31

收藏
2024-07-02

共1个答案

小能豆

手动迭代,使用条件选择将附加每个元素的列表:

good, bad = [], []
for x in mylist:
    (bad, good)[x in goodvals].append(x)
2024-07-02