如何返回list与其sublist的差

在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]
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,350评论 0 10
  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    时光清浅03阅读 571评论 0 0
  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    伊森H阅读 3,178评论 0 15
  • 蔡积悦推荐書目。 現列一部份我覺得可讀性較強的書籍名稱於下: 古琴類: 1.琴史初編(許健) 2.今虞琴刊(今虞琴...
    水杉古琴阅读 2,050评论 0 0
  • “早”不是决定性因素,关键在于对不对,更关键在于是否长期正确。 笑来老师的这话在理,道理什么时候践行都不晚,你只要...
    媚儿大人阅读 193评论 0 0

友情链接更多精彩内容