热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python3.x基础三:set集合

集合,set(),记住:1个特点:去重,把列表变成集合,达到自动去重操作,无序5个关系:测试两个列表的交差并子反向差集方法:|add()常用,已存在元素去重不生效|Add

集合,set(),记住:

1个特点:去重,把列表变成集合,达到自动去重操作,无序

5个关系:测试两个列表的交差并子反向差集

方法:

  •  |  add(...) 常用,已存在元素去重不生效
  •  |      Add an element to a set.
  •  |     This has no effect if the element is already present.
    >>> list1=[3,2,1,1,2,3,4,5]
    >>> set(list1)
    {
    1, 2, 3, 4, 5}
    >>> list2=[3,4,5,6,7,8]
    >>> set(list1).add(2)
    >>> set(list1).add(6)
    >>> print(set(list1).add(2))
    None
    >>> print(set(list1).add(6))
    None
    >>> set1=set(list1)
    >>> set2=set(list2)
    >>> set1,set2
    ({
    1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
    >>> set1.add(3)
    >>> print(set1.add(3)
    ... )
    None
    >>> print(set1.add(7))
    None
    >>> set1.add('aaa')
    >>> set1
    {
    1, 2, 3, 4, 5, 7, 'aaa'}
    >>> id(set1)
    140138768484616
    >>> set1.add('aaaa')
    >>> id(set1)
    140138768484616
    >>> set1
    {
    1, 2, 3, 4, 5, 7, 'aaa', 'aaaa'}
    >>> set1.add('7')
    >>> set1
    {
    1, 2, 3, 4, 5, 7, 'aaa', 'aaaa', '7'}
    >>> set1.add(7)
    >>> set1
    {
    1, 2, 3, 4, 5, 7, 'aaa', 'aaaa', '7'}
    View Code
  •  如果是字符串,则拆分成单个字符集合
  • >>> set('abc')
    {
    'a', 'c', 'b'}

     

 

  •  |  clear(...) 清空一个集合
  •  |      Remove all elements from this set.
    >>> set1.clear()
    >>> set1
    set()

     

  •  |  copy(...) 影子复制,指向同一个内存地址
  •  |      Return a shallow copy of a set. |  
    >>> list1
    [3, 2, 1, 1, 2, 3, 4, 5]
    >>> list2
    [3, 4, 5, 6, 7, 8]
    >>> set1=set(list1)>>> id(set1)
    140138768485512>>> set3=set1.copy()
    >>> id(set3)
    140138695576712

     

  •  |  difference(...) 差集,格式set1.difference(set2),求in list1 not in list2的集合
  •  |      Return the difference of two or more sets as a new set. |   
  •  |      (i.e. all elements that are in this set but not the others.)   
    >>> set1
    {
    1, 2, 3, 4, 5}
    >>> set2
    {
    3, 4, 5, 6, 7, 8}
    >>> set1.difference(set2)
    {
    1, 2}

     

  •  |  difference_update(...) 删除在本集合同时也在其他集合的元素,差集
  •  |      Remove all elements of another set from this set. |
    >>> set1=set(list1)
    >>> set2=set(list2)
    >>> set1,set2
    ({1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
    >>> set1=set(list1)>>> set2=set(list2)
    >>> set2.difference_update(set1)
    >>> set2
    {
    6, 7, 8}

     

     
  •  |  discard(...) 删除一个在本集合中的元素
  •  |      Remove an element from a set if it is a member.
  •  |      
  •  |      If the element is not a member, do nothing. |  
    >>> set3=set([1,2,3,'a','b','c'])
    >>> set3.discard(1)
    >>> set3
    {
    2, 3, 'c', 'b', 'a'}
    >>> set3.discard('a')
    >>> set3
    {
    2, 3, 'c', 'b'}
    >>> set3.discard('dd')
    >>> set3
    {
    2, 3, 'c', 'b'}

     

  •  |  intersection(...)并集,同时在两个集合中的元素
  •  |      Return the intersection of two sets as a new set.
  •  |      
  •  |      (i.e. all elements that are in both sets.) |  
    >>> set1
    {
    1, 2, 3, 4, 5}
    >>> set2
    {
    3, 4, 5, 6, 7, 8}
    >>> set1.intersection(set2)
    {
    3, 4, 5}
    >>> set2.intersection(set1)
    {
    3, 4, 5}
  •  |  intersection_update(...) 交集
  •  |      Update a set with the intersection of itself and another. |  
    >>> set1,set2
    ({
    1, 2, 3, 4, 5}, {3, 4, 5, 6, 7, 8})
    >>> set1.intersection_update(set2)
    >>> set1
    {
    3, 4, 5}
  •  |  isdisjoint(...) 返回布尔值,判断两个集合是否没有并集
  •  |      Return True if two sets have a null intersection.
  •  |  
    >>> set1,set2,set3,set4
    ({
    3, 4, 5}, {3, 4, 5, 6, 7, 8}, {2, 3, 'c', 'b'}, {'y', 'x', 'z'})
    >>> set1.isdisjoint(set2)
    False
    >>> set1.isdisjoint(set4)
    True
  •  |  issubset(...) 返回布尔值,判断前一个集合是否是后一个集合的子集
  •  |      Report whether another set contains this set. |  
    >>> set1
    {
    3, 4, 5}
    >>> set5
    {
    3, 4}
    >>> set5.issubset(set1)
    True
  •  |  issuperset(...) 返回布尔值,判断前一个集合是否是后一个集合的父集
  •  |      Report whether this set contains another set. |  
    >>> set1
    {
    3, 4, 5}
    >>> set5
    {
    3, 4}
    >>> set1.issuperset(set5)
    True
  •  |  pop(...) 随机删除一个集合元素,返回被删除元素,空集合删除则报错
  •  |      Remove and return an arbitrary set element.
  •  |      Raises KeyError if the set is empty. |  
    >>> set1
    {
    3, 4, 5}
    >>> set1.pop()
    3
    >>> set1
    {
    4, 5}
    >>> set1.pop()
    4
    >>> set1.pop()
    5
    >>> set1.pop()
    Traceback (most recent call last):
    File
    "", line 1, in
    KeyError:
    'pop from an empty set'
  •  |  remove(...) 删除指定在集合中的元素
  •  |      Remove an element from a set; it must be a member. |      
    >>> set1=set(list1)
    >>> set1
    {
    1, 2, 3, 4, 5}
    >>> set1.remove(1)
    >>> set1
    {
    2, 3, 4, 5}
    >>> set1.remove('a')
    Traceback (most recent call last):
    File
    "", line 1, in
    KeyError:
    'a'
  •  |  symmetric_difference(...) 对称差集,集合A与集合B不相交的部分,交集的反集
  •  |     Return the symmetric difference of two sets as a new set.
  •  |     (i.e. all elements that are in exactly one of the sets.)     
    >>> set1
    {
    1, 2, 3, 4, 5}
    >>> set6={4,5,6,7,8}
    >>> set1.symmetric_difference(set6)
    {
    1, 2, 3, 6, 7, 8}
    >>> set6.symmetric_difference(set1)
    {
    1, 2, 3, 6, 7, 8}
    >>> set1,set7
    ({1, 2, 3, 4, 5}, {'a', 'c', 'b'})
    >>> set1.symmetric_difference(set7)
    {'c', 2, 3, 1, 4, 5, 'b', 'a'}
  •  |  symmetric_difference_update(...)
  •  |      Update a set with the symmetric difference of itself and another.
  •  |  
  •  |  union(...) 并集
  •  |      Return the union of sets as a new set.
  •  |      (i.e. all elements that are in either set.)
    >>> set1
    {
    1, 2, 3, 4, 5}
    >>> set2
    {
    3, 4, 5, 6, 7, 8}
    >>> set1.union(set2)
    {
    1, 2, 3, 4, 5, 6, 7, 8}
  •  |  update(...) 用交集更新到set1的集合
  •  |      Update a set with the union of itself and others. |  
    >>> set1
    {
    1, 2, 3, 4, 5}
    >>> set2
    {
    3, 4, 5, 6, 7, 8}
    >>> set1.update(set2)
    >>> set1
    {
    1, 2, 3, 4, 5, 6, 7, 8}
    >>>

     






 


推荐阅读
  • 集合set集合是可变的容器集合内的数据对象都是唯一的(不能重复多次的)集合是无序的存储结构,集合中的数据没有先后关系集合内的元素必须是不可 ... [详细]
  • 一.元祖类型 (tuple)1.什么是元祖?用途:用于存放多个值,当存放的多个值只有读的需求没有改变的需求时,用元祖最合适.定义方式:在()内用逗号分隔开的多个任意类型的值t(1, ... [详细]
  • 转载请注明原文地址:http:www.cnblogs.comygj0930p6409067.html1:HammingdistanceTheHammin ... [详细]
  • 本文介绍了利用ARMA模型对平稳非白噪声序列进行建模的步骤及代码实现。首先对观察值序列进行样本自相关系数和样本偏自相关系数的计算,然后根据这些系数的性质选择适当的ARMA模型进行拟合,并估计模型中的位置参数。接着进行模型的有效性检验,如果不通过则重新选择模型再拟合,如果通过则进行模型优化。最后利用拟合模型预测序列的未来走势。文章还介绍了绘制时序图、平稳性检验、白噪声检验、确定ARMA阶数和预测未来走势的代码实现。 ... [详细]
  • 基于词向量计算文本相似度1.测试数据:链接:https:pan.baidu.coms1fXJjcujAmAwTfsuTg2CbWA提取码:f4vx2.实验代码:imp ... [详细]
  • 深入解析Python文本数据处理的技巧与方法
    学习Python时,它总能让人深刻体会到这款语言的魅力。今天小编为大家带来一个有趣的项目,用Python处理文本数据,一起来看看今天的问题吧 ... [详细]
  • Python之基础篇(三)
    基础篇之三:一,数据类型之set.总结:set无序,不重复。1,创建set:s{1,2,3}print(s,type(s))list1[1,2,3]s1(list1)prin ... [详细]
  • 第八章 元组与集合
    目录​一、元组二、集合三、集合的数学操作四、集合的相关操作五、集合间的关系六、列表、元组、集合、字典区别一、元组元组是python内置的数据结构之一, ... [详细]
  • 腾讯课堂——基础数据类型(set集合)
    认识集合由一个或多个确定的元素所构成的整体叫做集合。集合中的元素有三个特征:1.确定性(集合中的元素必须是确定的)2.互异性(集合中的元素互不相同。例如:集合A{1,a},则a不能 ... [详细]
  • 我正在尝试使用 ... [详细]
  • 本文整理了Java中org.apache.commons.collections4.ListUtils.unmodifiableList()方法的一些代码示例,展示了 ... [详细]
  • 这篇文章给大家分享的是有关python3怎样中文转换编码的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。示例:处理 ... [详细]
  • 浅谈Python3中打开文件的方式(With open)
    浅谈Python3中打开文件的方式(With open)-目录0.背景知识1.常规方式:读取文件-----open()2.推荐方式:读取文件-----WithOpen1).读取方式 ... [详细]
  • Python3怎么获取文件属性
    这篇文章给大家分享的是有关Python3怎么获取文件属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。os.stat(path ... [详细]
  • Python Flask学习之安装SQL,python3,Pycharm(网上下载安装即可)
    1,下载时更改pypi源。可以额外安装虚拟化环境:pipinstall-ihttp:pypi.douban.comsimple--trusted-hos ... [详细]
author-avatar
肥zi斌_343
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有