zoukankan      html  css  js  c++  java
  • Python基础知识:集合

    1、集合(set)是一个存放在中括号内的无序,不重复的序列。例如:set = {'1','12','25'}

    2、创建集合的两种方法:

    • set = {1,2,3} 中括号直接创建
    • set = {[1,2.3]}  通过方法set()将元组或者列表转换成集合,默认会删除重复值

    3、对集合的基本操作

    s = {1,2,3,4}
    s.add(5) #添加元素
    print(s)
    s = set()
    s.add(1) #创建空集合,然后添加元素
    s.add(2)
    print(s)
    s2 = s.copy() #复制集合
    print(s2)
    s.clear() #清空集合
    print(s)
    #A中存在,B中不存在,A在前,B在后
    s1 = {11,22,33}
    s2 = {22,33,44}
    s3 = s1.difference(s2)
    print(s3)
    #去掉两者交集,得到剩下的集合
    s4 = s1.symmetric_difference(s2)
    print(s4)
    #更新集合,将A中有,B中没有的,更新为A集合
    s1.difference_update(s2)
    print(s1)
    #将去除交集之后的集合,更新为A集合
    s1.symmetric_difference_update(s2)
    print(s1)
    #discard移除指定元素,不存在也不报错
    s = {1,2,3}
    s.discard(1)
    print(s)
    #remove移除元素,不存在会报错
    s = {1,2,3}
    s.remove(1)
    print(s)
    #pop随机删除元素,并且可以继续使用
    s = {2,3,4}
    s1 = s.pop()#括号里不能加参数
    print(s1)
    #求AB的交集
    s1 = {11,22,33}
    s2 = {22,33,44}
    s3 = s1.intersection(s2)
    print(s3)
    #将AB交集更新为A
    s1 = {11,22,33}
    s2 = {22,33,44}
    s1.intersection_update(s2)
    print(s1)
    #A是否是B的子序列,是则返回True
    s1 = {11,22,33}
    s2 = {22,33}
    s3 = s2.issubset(s1)
    print(s3)
    #A是否是B的父序列,是则返回True
    s1 = {11,22,33}
    s2 = {22,33}
    s3 = s1.issuperset(s2)
    print(s3)
    #合并两个集合,去重
    s1 = {11,22,33}
    s2 = {22,33,44}
    s3 = s1.union(s2)
    print(s3)
    '''update()更新集合,括号内接受一个可以for循环的序列,
    列表、元组或者字符串都行,函数自动将序列内元素添加到集合中,
    如果是字典,只会把键加入集合
    '''
    s1 = {11,22,33}
    s2 = [1,2,3,4,]
    s3 = (10,20,30,)
    s4 = 'charlie'
    s5 = {'Q':'W','E':'R'}
    s1.update(s2)
    print(s1)
    s1.update(s3)
    print(s1)
    s1.update(s4)
    print(s1)
    s1.update(s5)
    print(s1)
  • 相关阅读:
    Android studio关于点击事件后的页面跳转,选择完成后返回(onActivityResult)
    关于Android对话框简单实用方法总结
    Eclipse键盘输出文字,显示到屏幕上方法
    indexOf实际试用方法
    LiteOS裸机驱动移植01-以LED为例说明驱动移植
    LiteOS内核教程06-内存管理
    LiteOS内核教程05-互斥锁
    LiteOS内核教程04-信号量
    LiteOS内核教程03-任务管理
    LiteOS内核教程02-HelloWorld
  • 原文地址:https://www.cnblogs.com/charliedaifu/p/9979755.html
Copyright © 2011-2022 走看看