Python中实现对list做减法 *** 作介绍

Python中实现对list做减法 *** 作介绍,第1张

概述问题描述:假设我有这样两个list,         一个是list1,list1=[1,2,3,4,5]

问题描述:假设我有这样两个List,

          一个是List1,List1 = [1,2,3,4,5]
          一个是List2,List2 = [1,5]
          我们如何得到一个新的List,List3,
          List3中包括所有不在List2中出现的List1中的元素。
          即:List3 = List1 C List2
         
解决方案:我们可以用set(集合) *** 作
          List3 = List(set(List1) C set(List2))
         
          set *** 作会将一个List转换成一个集合。
          假设:List_t = [1,1]
          那么:List(set(List_t)) = [1,3]
          是的,重复的项会被删除。

其他方案:List3 = [i for i in List1 if i not in List2]       #可用于List分片
          这样写也很直观。
          但是在List很大的时候,没有set方法快。

额外知识:a = [[i,j] for i in range(2) for j in range(3)]
          这个和“其他方案”非常相似,
          都是在[]里面进行判断和计算。
          感觉很方便,至少比下面这样要方便、要快:
          a = []
          for i in range(2):
              for j in range(3):
                  a.append([i,j])

某些问题:如果List_tmp = [[1,2],[2,3]]
          即List里面不是单独的元素组成,而是List,
          那么set(List_tmp)会出问题。

还要研究:hash函数

总结

以上是内存溢出为你收集整理的Python中实现对list做减法 *** 作介绍全部内容,希望文章能够帮你解决Python中实现对list做减法 *** 作介绍所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1207744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存