我想做类似的事情:
>>> 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])
但是python列表不支持此操作。最佳方法是什么?
使用列表理解:
[item for item in x if item not in y]
如果要使用中-
缀语法,则可以执行以下操作:
class MyList(list):
def __init__(self, *args):
super(MyList, self).__init__(args)
def __sub__(self, other):
return self.__class__(*[item for item in self if item not in other])
然后可以像这样使用它:
x = MyList(1, 2, 3, 4)
y = MyList(2, 5, 2)
z = x - y
但是,如果您并非绝对需要列表属性(例如,订购),则只需将集用作其他答案即可。
问题内容: 在Python中,如何减去两个非唯一的无序列表?假设我们有和我想这样做,并有成为或顺序无关紧要给我。如果a在b中不包含所有元素,则应该抛出异常。 请注意,这与套装不同! 我对找到a和b中的元素集的差异不感兴趣,而对a和b中元素的实际集合之间的差异感兴趣。 我可以使用for循环来执行此操作,在a中查找b的第一个元素,然后从b和a中删除该元素,依此类推。但这对我没有吸引力,这会非常低效(按
本文向大家介绍Python中列表(list)操作方法汇总,包括了Python中列表(list)操作方法汇总的使用技巧和注意事项,需要的朋友参考一下 本文实例汇总了Python中关于列表的常用操作方法,供大家参考借鉴。具体方法如下: 一、Python创建列表: 二、Python 列表操作: 假设有如下列表: 1.得到列表中的某一个值: 2.删除列表的第一个值: 3.在列表中插入一个值: 4.得到列表
该操作采用两种或更多种形状作为输入。 然后,它返回第一形状的区域,不包括与第二形状重叠的区域,如下所示。 您可以使用名为subtract()的方法对形状执行减法运算。 由于这是一个静态方法,您应该使用类名(Shape或其子类)来调用它,如下所示。 Shape shape = Shape.subtract(circle1, circle2); 以下是减法操作的示例。 在这里,我们绘制两个圆并对
本文向大家介绍Python中实现对list做减法操作介绍,包括了Python中实现对list做减法操作介绍的使用技巧和注意事项,需要的朋友参考一下 问题描述:假设我有这样两个list, 一个是list1,list1 = [1, 2, 3, 4, 5] 一个是list2,list2 = [1, 4, 5] 我们如何得到一个新的list,li
本文向大家介绍Python创建或生成列表的操作方法,包括了Python创建或生成列表的操作方法的使用技巧和注意事项,需要的朋友参考一下 如何创建列表,或生成列表。这里介绍在python的基础知识里创建或转变或生成列表的一些方法。 零个,一个或一系列数据用逗号隔开,放在方括号[ ]内就是一个列表对象。 列表内的数据可以是多个数目,不同类型。 利用函数list(): 用 list([iterable]
问题内容: 我想花点时间在Python中。使用,有很多功能: 我试过了: 我想从时间中减去40分钟。 问题答案: 签出该库,它为使用日期的数学提供了更大的灵活性。 例如: 印刷品: