我有一些如下代码:
good = [x for x in mylist if x in goodvals] bad = [x for x in mylist if x not in goodvals]
目标是mylist根据内容是否满足条件将其分成另外两个列表。
mylist
我怎样才能更优雅地做到这一点?我可以避免进行两次单独的迭代吗mylist?这样做可以提高性能吗?
手动迭代,使用条件选择将附加每个元素的列表:
good, bad = [], [] for x in mylist: (bad, good)[x in goodvals].append(x)