我在python中有一个数组,想把它分成两个数组,一个元素匹配谓词,另一个元素不匹配。
有没有比以下更简单的方法(或更 Pythonic):
>>> def partition(a, pred):
... ain = []
... aout = []
... for x in a:
... if pred(x):
... ain.append(x)
... else:
... aout.append(x)
... return (ain, aout)
...
>>> partition(range(1,10), lambda x: x%3 == 1)
([1, 4, 7], [2, 3, 5, 6, 8, 9])