相关疑难解决方法(0)

Python列表减法运算

我想做类似的事情:

>>> x = [1,2,3,4,5,6,7,8,9,0]  
>>> x  
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]  
>>> y = [1,3,5,7,9]  
>>> y  
[1, 3, 5, 7, 9]  
>>> y - x   # (should return [2,4,6,8,0])
Run Code Online (Sandbox Code Playgroud)

但python列表不支持这种做法最好的方法是什么?

python list

205
推荐指数
9
解决办法
29万
查看次数

在Python中减去两个列表

在Python中,如何减去两个非唯一的无序列表?假设我们有a = [0,1,2,1,0]b = [0, 1, 1]我想这样做c = a - b,并有c成为[2, 0][0, 2]顺序并不重要,对我来说.如果a不包含b中的所有元素,则应抛出异常.

请注意,这与套装不同!我对找到a和b中元素集的区别不感兴趣,我对a和b中元素的实际集合之间的差异感兴趣.

我可以用for循环来做这个,在a中查找b的第一个元素,然后从a中删除元素,然后从a中删除等等.但这对我没有吸引力,它会非常低效(O(n^2)时间顺序)虽然及时做到这一点应该没问题O(n log n).

python collections list

44
推荐指数
5
解决办法
10万
查看次数

标签 统计

list ×2

python ×2

collections ×1