一:python官方文档

  https://docs.python.org/3.6/library/stdtypes.html#set-types-set-frozenset

二:集合概念

  • 集合是无序的
  • 集合是无重复元素的

一:add()

会改变原有集合

 >>> s = set('HackerRank')
>>> s.add('H')
>>> print s
set(['a', 'c', 'e', 'H', 'k', 'n', 'r', 'R'])
>>> print s.add('HackerRank')#添加后返回none
None
>>> print s
set(['a', 'c', 'e', 'HackerRank', 'H', 'k', 'n', 'r', 'R'])

set.add()

二:pop(),discard(),remove()

  •  pop()是随机删除元素
  •  discard(),remove()是删除指定元素的
  • discard()在删除不存在元素是不会报错,而remvoe()会报keyerror错误
  • 都会改变原有集合

set.pop()

 >>> s = set([])
>>> print s.pop() >>> print s
set([])
>>> print s.pop()
KeyError: pop from an empty set

set.pop()

set.remove()

 >>> s = set([, , , , , , , , ])
>>> s.remove()
>>> print s
set([, , , , , , , ])
>>> print s.remove()#默认返回None
None
>>> print s
set([, , , , , , ])
>>> s.remove()
KeyError:

set.remove()

set.discard()

 >>> s = set([, , , , , , , , ])
>>> s.discard()
>>> print s
set([, , , , , , , ])
>>> print s.discard()
None
>>> print s
set([, , , , , , ])
>>> s.discard()
>>> print s
set([, , , , , , ])

set.discard()

三:intersetcion(),difference(),unoin(),symmetric_difference(),交集,差集,并集,对称差集

不改变原有集合

set.intersection()

 >>> s = set("Hacker")
>>> print s.intersection("Rank")
set(['a', 'k']) >>> print s.intersection(['R', 'a', 'n', 'k'])
set(['a', 'k']) >>> print s.intersection(enumerate(['R', 'a', 'n', 'k']))
set([]) >>> print s.intersection({"Rank":})
set([]) >>> s & set("Rank")
set(['a', 'k'])

set.intersection()

set.difference()

 #set1有的而set2没有的元素
>>> s = set("Hacker")
>>> print s.difference("Rank")
set(['c', 'r', 'e', 'H']) >>> print s.difference(set(['R', 'a', 'n', 'k']))
set(['c', 'r', 'e', 'H']) >>> print s.difference(['R', 'a', 'n', 'k'])
set(['c', 'r', 'e', 'H']) >>> print s.difference(enumerate(['R', 'a', 'n', 'k']))
set(['a', 'c', 'r', 'e', 'H', 'k']) >>> print s.difference({"Rank":})
set(['a', 'c', 'e', 'H', 'k', 'r']) >>> s - set("Rank")
set(['H', 'c', 'r', 'e'])

set.difference()

set.unoin()

 >>> s = set("Hacker")
>>> print s.union("Rank")
set(['a', 'R', 'c', 'r', 'e', 'H', 'k', 'n']) >>> print s.union(set(['R', 'a', 'n', 'k']))
set(['a', 'R', 'c', 'r', 'e', 'H', 'k', 'n']) >>> print s.union(['R', 'a', 'n', 'k'])
set(['a', 'R', 'c', 'r', 'e', 'H', 'k', 'n']) >>> print s.union(enumerate(['R', 'a', 'n', 'k']))
set(['a', 'c', 'r', 'e', (, 'a'), (, 'n'), 'H', 'k', (, 'k'), (, 'R')]) >>> print s.union({"Rank":})
set(['a', 'c', 'r', 'e', 'H', 'k', 'Rank']) >>> s | set("Rank")
set(['a', 'R', 'c', 'r', 'e', 'H', 'k', 'n'])

set.union()

 set.symmetric_difference()

 >>> s = set("Hacker")
>>> print s.symmetric_difference("Rank")
set(['c', 'e', 'H', 'n', 'R', 'r']) >>> print s.symmetric_difference(set(['R', 'a', 'n', 'k']))
set(['c', 'e', 'H', 'n', 'R', 'r']) >>> print s.symmetric_difference(['R', 'a', 'n', 'k'])
set(['c', 'e', 'H', 'n', 'R', 'r']) >>> print s.symmetric_difference(enumerate(['R', 'a', 'n', 'k']))
set(['a', 'c', 'e', 'H', (, 'R'), 'r', (, 'n'), 'k', (, 'a'), (, 'k')]) >>> print s.symmetric_difference({"Rank":})
set(['a', 'c', 'e', 'H', 'k', 'Rank', 'r']) >>> s ^ set("Rank")
set(['c', 'e', 'H', 'n', 'R', 'r'])

set.symmertic_difference

四:update(),difference_update(),set.symmetric_difference_update()

set.update(set2):以集合2还更新集合1,加入到集合1中

 >> myset.update([, , , ]) # update() only works for iterable objects
>> myset
{'a', , 'c', 'b', , , (, ), }
>> myset.update({, , })
>> myset
{'a', , 'c', 'b', , , , , (, ), }
>> myset.update({, }, [, ])
>> myset
{'a', , 'c', 'b', , , , , , , (, ), , }

set.update()

set.difference_update(set2):用set1-set2来更新set1,覆盖set1值

 #用A,B的差集来更新A
>>> H = set("Hacker")
>>> R = set("Rank")
>>> H.difference_update(R)
>>> print H
set(['c', 'e', 'H', 'r'])

set.difference——update()

set.symmetric_difference_update(set2):用set1和set2的对称差集来更新set1,覆盖set1的值

 #用A,b互相差集来更新A
>>> H = set("Hacker")
>>> R = set("Rank")
>>> H.symmetric_difference_update(R)
>>> print H
set(['c', 'e', 'H', 'n', 'r', 'R'])

set.systemeratic_update()

五:isdisjoint(), issubset(), issuperset()

set.isdisjoint():如果两个集合没有交集则返回True。

s1,s2={,,},{,,}s1.isdisjoint(s2)True

set.isdisjoint()

issubset():是否为子集

issubset(other)
set <= other

Test whether every element in the set is in other.

set < other:严格子集

Test whether the set is a proper subset of other, that is, set <= other and set != other

 >>> set1={,,,,}
>>> set2={,,,,,}
>>> set1.issubset(set2)
True
>>> set3={,,,,,}
>>> set3.issubset(set2)
True
>>> set3<set2
False
>>> set1<set2
True
issuperset(other)
set >= other

Test whether every element in other is in the set.

set > other:严格父集

Test whether the set is a proper superset of other, that is, set >= other and set != other.

https://www.hackerrank.com/challenges/py-check-strict-superset/problem
解决方法
a = set(input().split())
print(all(a > set(input().split()) for _ in range(int(input()))))

  

python集合操作的更多相关文章

  1. Django数据库性能优化之 - 使用Python集合操作

    前言 最近有个新需求: 人员基础信息(记作人员A),10w 某种类型的人员信息(记作人员B),1000 要求在后台上(Django Admin)分别展示:已录入A的人员B列表.未录入的人员B列表 团队 ...

  2. Python 集合操作

    1.集合操作 集合是一个无序的,不重复的数据组合, 他的主要作业如下. 1.去重,把一个列表变成集合,就自动去重了 2.关系测试,测试两组数据之前的交集.差集.并集等关系 list_1 = [1,4, ...

  3. python集合操作和内置方法

    一 集合基本介绍 集合:在{}内用逗号隔开每个值,集合的特点: 每个值必须是不可变类型 集合是无序的 集合的值不能重复 集合的应用场景较少,最重要的应用场景为进行关系运算以及去重. 二 集合的操作 1 ...

  4. Python 集合set添加删除、交集、并集、集合操作符号

    在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...

  5. [转]python集合set

    Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 来源网 ...

  6. Python学习笔记-Day3-set集合操作

    set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(t ...

  7. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  8. Python值集合操作

    list_l1 = [12,1,4,6,9,5,4,2,11] list_l1 = set(list_l1) print(list_l1,type(list_l1)) #集合也是无序的 list_2 ...

  9. Python 集合set()添加删除、交集、并集、集合操作详解

    集合:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次.每个元素的地位都是相同的,元素之间是无序的. 创建集合set python set类是在python的sets模块中,大家现在使 ...

随机推荐

  1. MT【323】向量模的范围

    已知单位向量 $\overrightarrow e_1,\overrightarrow e_2$ 的夹角为 $120^\circ$,$\left|x\overrightarrow e_1+y\over ...

  2. 一本通 一笔画问题 洛谷P1636 Einstein学画画

    P1636 Einstein学画画 相信大家都玩过一笔画这种游戏吧,这其实算得上是我们能够接触到的比较常见的数学问题,有一个很知名的就是七桥问题 这个问题包括所有的一笔画问题都是在欧拉回路的涵盖范围内 ...

  3. Vue针对性笔记

    Github原文阅读 MVVM(Model-View-ViewModel)模型 MVVM分为Model.View.ViewModel三部分. Model代表数据模型,定义数据和业务逻辑,访问数据层 V ...

  4. Cucumber启动类配置

    @CucumberOptions ( features = "src/test/resources", glue = {"Steps"}, tags = {&q ...

  5. NPOI 图片在单元格等比缩放且居中显示

    NPOI导出的图片默认是在单元格左上方,这使得图片在单元格显示得很难看.居中,且等比缩放,才是图片在单元格上的完美展示. /// <summary> /// 图片在单元格等比缩放居中显示 ...

  6. mysql删除多个重复数据,多个字段添加唯一性索引

    需求:删除station_id.ab_data_time.item_code_id.data_cycle.ab_value 字段重复的记录 #查询重复的数据 select b.id,b.station ...

  7. python 玩耍天地

    词云 wordcloud wordcloud轮子下载 下载上面链接里对应的 whl (我选的 xxx_win32.whl)到 本地 进行安装 一般地, 会结合 jieba 分词 还有 matplotl ...

  8. hive group by聚合函数增强

    1.grouping sets grouping sets子句都可以根据UNION连接的多个GROUP BY查询进行逻辑表示 SELECT a,b,SUM(c)FROM tab1 GROUP BY a ...

  9. python学习06

    流控制 和函数 1)流控制 1.条件语句 if elif else  if else 2.循环语句 while for 3.continue 和break continue是跳过本次循环,执行下一次循 ...

  10. Technocup 2019 - Elimination Round 1

    http://codeforces.com/contest/1030 B. Vasya and Cornfield 判断点是否在矩形内(包括边界) 把每条边转化为一个不等式 public static ...