当前位置: 首页 > 面试题库 >

Python列表减法操作

仉高昂
2023-03-14
问题内容

我想做类似的事情:

>>> 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分钟。 问题答案: 签出该库,它为使用日期的数学提供了更大的灵活性。 例如: 印刷品: