zoukankan      html  css  js  c++  java
  • Python学习杂记_9_集合操作

    集合
    集合是由花括号括起来的一组数据,特点是“数据不重复”,“无序”,“类型不统一”。
    其中数据不重复是它最重要的特点,常常用于“去重”操作,Set(list)方法可以把列表强制转换成集合。

    集合的一些操作:

    1. 把列表转换为集合 # 强制类型转换
    list = [‘abc’ , 58.5, True]
    print(set(list))

    2. 取交集 # 两个集合共有的部分
    list1 = {1,2,3,4,5,6,9,10}
    list2 = {2,3,4,5,6,1}
    list3 = {1,2,3}
    print(list1.intersection(list2))
    print(list1 & list2)

    3. 取并集 # 把集合合起来之后去重
    print(list1.union(list2))
    print(list1 | list2)

    4. 取差集 # 两个集合做差,返回被减数去掉减数后的那部分数据
    print(list1.difference(list2))
    print(list1 - list2) # 取list1有且list2没有的那部分


    5. 取对称差集 # 输出两个列表中都没有的值,也就是把两个集合中相同的去掉
    print(list1.symmetric_difference(list2))
    print(list1 ^ list2)

    6.几个判断操作
    print(list3.issubset(list1)) # 判断list3是不是list1的子集
    print(list1.issuperset(list3)) # 判断list1是不是list3的父集
    print(list1.isdisjoint(list3)) # 判断list1和list3是否有交集

    7. 其他操作
    list1.add(888) # 添加元素,不返回值,原集合list1被改变,简单添加单个数值或字符串
    list1.update([777,666,666]) # 添加一个或多个元素,以列表形式添加,列表里不能有布尔值
    list1.remove(777) # 删除元素,如果元素不存在会报错
    list1.pop() # 删除一个随机的元素,并返回删除的元素
    list1.discard('dddd') # 如果删除的元素存在,删除,不存在不做处理

    引用一组对集合操作的总结: http://www.jb51.net/article/57214.htm
    经典片段:

    去重:
    >>> lst = [1,2,3,4,1]
    >>> print list(set(lst))
    [1, 2, 3, 4]

    基本操作:
    t.add('x')            # 添加一项
    s.update([10,37,42])     # 在s中添加多项
    t.remove('H')          # 删除一项
    len(s)             # set 的长度
    x in s              # 测试 x 是否是 s 的成员
    x not in s          # 测试 x 是否不是 s 的成员
    s.issubset(t)
    s <= t              # 测试是否 s 中的每一个元素都在 t 中
    s.issuperset(t)
    s >= t             # 测试是否 t 中的每一个元素都在 s 中
    s.union(t)
    s | t              # 返回一个新的 set 包含 s 和 t 中的每一个元素
    s.intersection(t)
    s & t              # 返回一个新的 set 包含 s 和 t 中的公共元素
    s.difference(t)
    s - t              # 返回一个新的 set 包含 s 中有但是 t 中没有的元素
    s.symmetric_difference(t)
    s ^ t              # 返回一个新的 set 包含 s 和 t 中不重复的元素
    s.copy()            # 返回 set “s”的一个浅复制
  • 相关阅读:
    vs2013项目停止调试后 iis express也跟着退出
    windows使用bat文件定时备份文件
    javascript方法重载惹的祸
    Windows无法启动MySQL服务,错误1067
    mysql应用学习-解决数据乱码
    mysql应用学习-在cmd命令窗口下创建数据库和表
    mysql应用学习-windows(64位)安装和配置mysql(5.6.20)
    如何更新maven需要的jar包
    如何恢复sqlserver误删除的数据(摘)
    Centos安装图形化界面
  • 原文地址:https://www.cnblogs.com/victory-0315/p/8617374.html
Copyright © 2011-2022 走看看