美文网首页
如何返回list与其sublist的差

如何返回list与其sublist的差

作者: 墨雨无痕_8487 | 来源:发表于2019-11-23 12:03 被阅读0次

    在Python中,一般只有set集合才重载了【-】操作符,用来做差集操作,而列表做类似差集的操作则只能自己实现,而且做这种操作时,要是列表有重复元素,则可能会有点问题,此时根据实际情况应该问题不大


    下面是一些可行的方法

    • 迭代遍历
    a = [0, 1, 2, 2, 3, 4, 4, 5, 6, 7, 8, 9]
    b = [7, 2, 1]
    c = []
    for x in a:
        if x not in b:
            c.append(x)
    print(c)  # [0, 3, 4, 4, 5, 6, 8, 9]
    
    • 转换成集合问题
    a = [0, 1, 2, 2, 3, 4, 4, 5, 6, 7, 8, 9]
    b = [7, 4, 1]
    # 这里强转陈set会导致list中的重复元素只保留一个,这没办法,因为list允许重复,set不允许
    c = list(set(a) - set(b))
    print(c)  # [0, 2, 3, 5, 6, 8, 9]
    
    • 列表生成式
    a = [0, 1, 2, 2, 3, 4, 4, 5, 6, 7, 8, 9]
    b = [7, 2, 1]
    c = [x for x in a if x not in b]
    print(c)  # [0, 3, 4, 4, 5, 6, 8, 9]
    

    相关文章

      网友评论

          本文标题:如何返回list与其sublist的差

          本文链接:https://www.haomeiwen.com/subject/xzthwctx.html