zoukankan      html  css  js  c++  java
  • day4_集合操作

    集合可以去掉重复的,s = set(),这种形式是集合,集合是无序的,可以把所有的可迭代对象转为集合
    xn = ['ggy', 'agr', 'hello']
    python = ['ggy', 'ssj', 'zy']
    s_xn = set(xn)
    s_python = set(python)
    print(s_xn.union(s_python))  # 取并集方法一
    print(s_xn | s_python)  # 取并集方法二
    print(s_xn.intersection(s_python))  # 取交集方法一
    print(s_xn & s_python)  # 取交集方法二

    集合不能按照下标取值,会报错
    b = {1, 2, 3, 4, 5, 1, 4}
    print(b[0])  # 报TypeError: 'set' object is not subscriptable错误,因为集合是无序的

    集合里传入列表和字典都会报错,因为它俩是可变的,非哈希类型,传入元组和字符串不会报错
    set1 = {[1, 2]}  # 报TypeError: unhashable type: 'list'
    print(set1)
    set2 = {{'a': 97, 'b': 98}}  # 报TypeError: unhashable type: 'dict'
    print(set2)

    set3 = {1, 1.0}
    print(set3)  # 打印出1


    取对称差集
    print(s_xn.symmetric_difference(s_python))  # 把两个集合中相同的元素去掉方法一
    print(s_xn ^ s_python)  # 把两个集合中相同的元素去掉方法二

    print(s_xn.issubset(s_python))  # 判断前面这个集合是不是在后面这个集合里面,了解一下
    print(s_xn.issuperset(s_python))  # 判断前面这个集合是不是包含后面这个集合,了解一下
    print(s_xn.isdisjoint(s_python))  # 判断两个集合是否有交集,没有交集返回True,了解一下

    集合的添加操作:
    第一种方式:s_xn.add('abc') ,通过此方式可以在集合里出现'a','b','c',如果有重复的只保留一个
    第二种方式:s_xn.update(),括号里可以传入一个list、tuple、字符串都可以,把重复的去掉
    s_xn = {'ggy', 'agr', 'hello'}
    s_xn.update(['abc', 'xyz'])  # 括号里可以传入一个list,把重复的去掉
    s_xn.update(('abc', 'xyz'))  # 括号里可以传入一个tuple,把重复的去掉
    s_xn.update('abc')  # 括号里可以传入一个字符串,把重复的去掉,字符串以单个字符的形式展示
    print(s_xn)

    集合的删除操作:
    第一种方式:s_xn.remove('abc'),删除集合里的元素,没有该元素会报错
    s_xn.remove('abc')
    print(s_xn)

    第二种方式:s_xn.pop(),随机删除一个元素,并返回剩下的元素
    s_xn.pop()
    print(s_xn)

    第三种方式:s_xn.discard('abc'),如果删除的元素存在就删除并返回剩下的元素,不存在返回原始的集合
    s_xn.discard('abc')
    print(s_xn)

    不可变的集合用frozenset(),如num1 = frozenset((1, 2, 3)),num1.add(4)会报错

  • 相关阅读:
    linux端口开放指定端口的两种方法
    关于JqueryCheck选中获取数据
    ASP.NET MVC 简单分页代码
    ASP.NET MVC4分页Site.CSS
    SQL索引的优缺点
    SQL字段数据类型小技巧
    数据库强制完整性的机制
    WinFrom饼形图
    WinFrom折线图
    WinFrom柱形图
  • 原文地址:https://www.cnblogs.com/laosun0204/p/8488966.html
Copyright © 2011-2022 走看看