zoukankan      html  css  js  c++  java
  • Python之数据结构:集合

    一、set集合
    1、集合是一个无序不重复元素集,有去重的作用
    set集合类需要的参数必须是迭代器类型的,如:序列、字典等,然后转换成无序不重复的元素集。由于集合是不重复的,所以可以对字符串、列表、元组进行去重操作。
    (1)创建
    s1=set('This is string') ([])
    set1=set('python') 结果:set(['h', 'o', 'n', 'p', 't', 'y'])
    s2=set([1,2,3])
    s3=set((1,2,3,4,3,2)) set([1,2,3,4])
    s4=set({1:2,2:3,6:6}) 字典只会把key值列表(相当于dict.keys()返回值)赋值给set set([1,2,6])
    注意数值类型不能作为集合的参数,如int类型。
    (2)添加元素
    add() 把元素作为整体添加
    update() 把元素中的子元素一个个添加
    s2.add('abc') set([1,2,3,'abc'])
    s2.update('abc') set(['a',1,2,3,'b','c'])
    (3)删除元素
    a、remove()
    s2.remove('c') set (['a',1,2,3,'b'])
    如果'c'不存在,会抛出异常
    b、discard(value)
    s2.discard(3)
    c、pop()
    s2.pop() 确保集合有元素,删除的元素不确定是哪个。如果为空引发KeyError错误
    (4)遍历集合
    for i in s2:
    print i
    (5)
    枚举enumerate()
    for index,elem in enumerate(2):
    print index,':',elem
    类型转化:
    str(s2)
    list(s2)
    tuple(s2)
    (6)清空集合
    s1.clear()
    (7)复制集合
    s6=s2.copy()
    (8)结合的长度
    len(s2)
     
    2、集合的特殊操作
    (1)交集、并集、差集
    s1=set([1,2,3])
    s2=set([2,3,4,5])
    s3=s1 & s2 交集 set([2,3])
    s4=s1 | s2 并集 set([1,2,3,4,5])
    s5=s1-s2 差集 在s1中但不在s2中 set([1])
    s6=s1.difference(s2) s6的结果 set([1]) 同s5
     
    (2) > 、>= < <= !=
    print s1>=s2
     
    (3)
    issupperset()父集
    s11=set([1,2])
    print s1.issupperset(s11) Ture s1是否为s11的父集
    print s1.issupperset(s2) False
    issubset() 子集
    s1.issubset(s2) s1是否为s2的子集
     
    (4)in 和not in 成员运算符
    if s1 in s2:
    3、不可变集合 frozenset()
    fs=frozenset([1,2,3])
    如果试图改变不可变集合中的元素,就会报AttributeError错误。
  • 相关阅读:
    9、Spring Boot 2.x 集成 Thymeleaf
    【专题】Spring Boot 2.x 面试题
    8、Spring Boot 2.x 服务器部署
    7、Spring Boot 2.x 集成 Redis
    6、Spring Boot 2.x 集成 MyBatis
    5、Spring Boot 2.x 启动原理解析
    4、Spring Boot 2.x 自动配置原理
    3、Spring Boot 2.x 核心技术
    2、Spring Boot 2.x 快速入门
    centOS下安装JDK1.8.60,glassfish4.1.1以及MySQL
  • 原文地址:https://www.cnblogs.com/emily-qin/p/6994482.html
Copyright © 2011-2022 走看看