假设我有一个元组列表[(0, 1, 2, 3), (4, 5, 6, 7), (3, 2, 1, 0)]
,我想删除所有元组倒置的实例,例如,从上面的列表中删除(3, 2, 1, 0)
。从列表中删除镜像对象的最快方法
我现在的(基本的)方法是:
L = list(itertools.permutations(np.arange(x), 4))
for ll in L:
if ll[::-1] in L:
L.remove(ll[::-1])
哪里花费时间成倍增加随着x的增加。所以如果x很大,这需要很长时间!我如何加快速度?
从循环中删除列表中的东西是一个糟糕的主意。 –
只是因为后者先出现而删除'(3,2,1,0)'而不是'(0,1,2,3)'? –
哪个被删除并不重要 – kungphil