zoukankan      html  css  js  c++  java
  • Python数据类型详解——集合

    Python数据类型详解——集合

    一、定义

    集合跟列表有点像,也是可以存一堆数据的,不过它有几个独特的特点:

    1、集合里的元素不可变,即不能再集合里存储列表(list)、字典(dict)。字符串、数字、元组等不可变类型可以存储再集合中。

    2、天生去重,即在集合里不会出现重复元素,就算你故意写入重复元素,集合也会自动去掉重复的,只保留一个。

    3、无序,集合中的元素没有先后之分。

    二、语法

    1、创建集合

    a = {2, 321, 'Kwan', 1, '小明', 'Kwan', 321}
    

    2、帮助列表去重

    将列表转换成集合,再转回列表,即可实现列表的去重

    a = ['Kwan', 'Kwan', 21, 21, '小明']
    a = list(set(a))	# 先转换成集合,再转换成列表
    

    三、增删查改操作

    a = {'Kwan', 21, 'male', 'LL', 43}
    
    # 增
    a.add('Kobe')
    
    # 删
    a.discard('male')   # 用discard()方法,删除指定的元素,若指定元素不存在,则do nothing
    a.pop()             # 用pop()方法,随即删除一个元素并返回这个元素
    a.remove('LL')      # 用remove()方法,同discard
    
    # 查
    if 'Kwan' in a:     # 用in方法
        pass
    
    # 改(没有改这个操作,集合不能改)
    

    四、关系运算

    a1 = {'Kwan', '小明', 'LL', 'PP', 'Kobe'}
    a2 = {'小明', 'LL', 'Alice', 'Jack', 'Neal'}
    print(a1 & a2)   	# &交集运算
    
    print(a1 | a2)	    # |并集运算
    
    print(a1 - a2)	    # -差集运算
    print(a2 - a1)
    
    print(a1 ^ a2) 	    # ^对称差集运算
    
    print(a1.isdisjoint(a2))    # 判断两个集合是不是相交的,返回True或者False
    print(a1.issubset(a2))	    # 判断a1是不是a2的子集,返回True或者False
    print(a1.issuperset(a2))	# 判断a1是不是a2的父集,返回True或者False
    
  • 相关阅读:
    使用ServiceStackRedis链接Redis简介
    浅谈SQL SERVER中事务的ACID
    Sql Server查询性能优化之走出索引的误区
    Redis命令总结
    TSQL查询进阶—理解SQL Server中的锁
    SQL Server 2005 分区表实践——分区切换
    SQL Server Profiler 模板
    深入浅出SQL Server中的死锁
    不同的单元中的类可以共用同一个命名空间
    从硬盘上装xp手记(2005.8.14 )
  • 原文地址:https://www.cnblogs.com/Kwan-C/p/11466419.html
Copyright © 2011-2022 走看看