集合方法 交集差集

# # 集合:属于可变的数据类型 无序的 但是集合里面的元素必须是不可变的数据类型   集合内没有重复的元素# sct1 = {"dd","ee"}# #增  add()   update()# sct1.add("dde")       # 添加一个指定的元素# sct1.update("da")    #把每个元素迭代增加# sct1.add("dd")# print(sct1)## #删  pop()   remove()    clear()   del# # print(sct1.pop())   #随机删除一个元素   有返回值# sct1.remove("dd")    #按照元素 删除# sct1.clear()         #清空集合## #改  不能修改  因为集合是无序的  而且每个元素都是不可变数据类型  所以集合不能修改## #查   for i in sct1:    使用in 查找# # li = [1,1,1,2,2,2,3,3,34,4,5,5,5,6,6,6]# sct = set(li)# print(sct)# # li = list(sct)# # print(li)# print(list(sct))# s = frozenset(li)   #冻结 一个可变类型  把一个可变类型转换成为一个不可变数据类型   无序的# print(s)# for i in s:#     print(i)# ## # 集合的交集   并集   差集运算# # &(交集)   |(并集)     -(差集)# sct2 = {1,2,3,4,8,9,6}# sct3 ={2,3,8,22,33,55}# print("交集",sct2 & sct3)     #两个集合共同都拥有的# print("反交集",sct2 ^ sct3)   #两个集合同时都没有的# print("并集",sct2 | sct3)     #两个集合不显示重复的 去除重复的# print("差集",sct2 - sct3)     #两个集合不显示同时拥有的显示剩下的# print("反交集",sct2 ^ sct3)   #除去两个集合拥有的显示两个集合没有重复的## print("子集",sct3 < sct2)# print("子集",sct3.issuperset(sct2))## print("超级",sct3 > sct2)# print("超级",sct3.issuperset(sct2))

#利用集合去重

原文地址:https://www.cnblogs.com/yexingyi/p/12568416.html

时间: 2024-10-10 14:44:17

集合方法 交集差集的相关文章

set,map,list集合的交集差集存放相同值反转分割等-代码优雅之道Guava(三)

前言 前边已经对Guava类库做了简单介绍(博文:Java代码优雅之道-Guava(有相关jar包下载)),下面就简单介绍操作Set,Map,List集合的工具类的使用,学会灵活使用这些工具,会使用我们在开发中,更加省时省力,代码健壮性和可读性更高,更简洁,这也是我所谓的"代码优雅",让我们开发中省出时间来去处理更重要的东西,废话不多说,一看代码就全明了了. 创建泛型集合更加简介 //创建泛型集合更加简介 List<String> stringList=Lists.newA

mysql获取两个集合的交集和差集

mysql中获取两个集合的交集,我的方法如下: 1.两个集合的结构要一致,对应的字段数,字段类型 2.将两个集合用 UNION ALL 关键字合并,这里的结果是有重复的所有集 3.将上面的所有集 GROUP BY id 4.最后 HAVING COUNT(id)=1,等于1的意思是只出现了一次,所以这个是差集,如果等于2,那么就是交集 这是实现的基本原理,具体如下: 1 -- 下面的sql有明显的问题,不过这个只是一个示意,从一个表中查询不需要用到交集和差集,条件可以合并在一起直接查询出来的.能

java的集合操作(交集、并集、差集)整理

/**     * 求ls对ls2的差集,即ls中有,但ls2中没有的     *      * @param ls     * @param ls2     * @return      */    public static List diff(List ls, List ls2) {        List list = new ArrayList(Arrays.asList(new Object[ls.size()]));        Collections.copy(list, ls

Java大集合求交集的方法比较

两个List集合求交集想必学过Java的都知道用系统自带的retainAll()方法,但是在数据量比较大时,这个方法效率并不高,利用空余时间研究了几种数据量较大时求两个集合交集的办法.本文主要研究了JDK自带方法求交集.Guava集合求交集.Java8的parallelStream并行流求交集.双指针方法求交集以及bitmap求交集的方法和效率. JDK自带方法 最常用的求交集方法,在小数据量的时候没什么问题,一旦两个集合的数据量达到几十万级别时,效率就严重偏低,底层实际上也是两个for循环,只

Linux 求文件交集 差集等

使用comm命令 假设两个文件FILE1和FILE2用集合A和B表示,FILE1内容如下: a b c e d a FILE2内容如下: c d a c 基本上有两个方法,一个是comm命令,一个是grep命令.分别介绍如下: comm命令 , Compare sorted files FILE1 and FILE2 line by line. With  no options, produce three-column output.  Column one contains lines un

python笔记第五天 set(集合)方法

一 set(集合)方法 x = set('spam') >>> y = set(['h','a','m']) >>> x, y (set(['a', 'p', 's', 'm']), set(['a', 'h', 'm'])) 1. x & y # 交集   set(['a', 'm']) 2. x | y # 并集   set(['a', 'p', 's', 'h', 'm']) 3. x - y # 差集   set(['p', 's']) 4.去除重复元素

js取两个数组的交集|差集|并集|补集|去重示例代码

http://www.jb51.net/article/40385.htm 代码如下: /** * each是一个集合迭代函数,它接受一个函数作为参数和一组可选的参数 * 这个迭代函数依次将集合的每一个元素和可选参数用函数进行计算,并将计算得的结果集返回 {%example <script> var a = [1,2,3,4].each(function(x){return x > 2 ? x : null}); var b = [1,2,3,4].each(function(x){re

求两个集合的交集和并集C#

我是用hashset<T>来实现的 具体如代码所示 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace JiaoJi { class Program { static void Main(string[] args) { int [] arrA=new int[8]{1,2,3,4,5,6,7,8}; int [] arrB=new int[5]{4,5,

A、B两个整数集合的交集

rt,这是一个经典问题. 参考1:http://www.sysexpand.com/?path=exercises/array-intersection 参考2:http://leetcode.com/2010/03/here-is-phone-screening-question-from.html 用数组来模拟(本质上说集合中是没有重复元素的,这里用数组来模拟可以用重复元素),A.B数组长度分别为m和n.总的来说,分为以下几种方案. 方案1:两重循环判断(复杂度 O(m*n)) 暴力方法,并