• Python 集合


    #####集合#####
    #由不同元素组成,集合中的元素都是无序的,集合中的元素必须全为不可变类型
    #不可变类型有:字符串、数字、字符、元祖
    s = {1,2,3,4,5,6,1,3,5}
    print(s)
    s = set('hello')
    print(s)

    d = set (['hello','nihao','sawadika','nihao'])
    print(d)

    #add()增加元素
    s.add('nihao')
    s.add(8)
    print(s)

    #copy()
    s1 = s.copy()
    print(s1)

    #clear()
    s1.clear()
    print(s1)

    #pop() 随机删除
    print(s)
    s.pop()
    print(s)

    #remove() 指定删除 ,删除元素不存在会报错
    #s.remove('h')
    print(s)
    # s.remove('lskdjflsd') 删除不存在的元素会报错
    # print(s)

    #discard() 指定删除 ,删除元素不存在不会报错
    s.discard('o')
    print(s)
    s.discard('lskdjflsd')
    print(s)

    name_python = ['xiaoming','xiaoli','xiaoqian']
    name_linux =['xiaoli','xiaoyan','xiaogang','xiaoqian']
    name_both = []
    for name in name_python:
    if name in name_linux:
    name_both.append(name)

    print(name_both)

    #列表转换成集合
    p_s = set(name_python)
    l_s = set(name_linux)
    print(p_s,l_s)

    print('-------------交集--------------------')
    #集合求交集

    print(p_s&l_s)
    #集合求并集
    print(p_s.union(l_s))

    print(p_s|l_s)

    #差集
    print(p_s-l_s)
    print(l_s-p_s)

    #交叉补集
    print(p_s^l_s)

    #判断是否有交集,有则返回False,无则返回True
    print(p_s.isdisjoint(l_s))

    #判断s1是否为s2的子集,若是则返回true,否则返回false
    s1 = {1,2}
    s2 = {1,2,3}
    print(s1.issubset(s2)) #s1s2的子集

    #判断s2是否为s1的父集,若是则返回true
    print(s2.issuperset(s1))

    #update 更新值 update更新多个值,add更新一个值
    s1.update(s2)
    print(s1)


    #集合为可变的类型,for循环可遍历的为可变类型,但可定义不可变集合 frozenset()
    s = frozenset('hello') #定义不可变类型的集合
    print(s)
    names = ['alex','alex','zhangdan','yanliang']
    n1 = set(names)
    print(n1)
    names = list(n1)
    print(names)

    #list去重,可以一步实现 names = list(set(names)) 但是通过集合去重的位置可能发生变化
  • 相关阅读:
    block的使用
    控制器的多种创建方式
    指针函数和函数指针
    UIScrollView实现图片轮播器及其无限循环效果
    如何按顺序执行两个动画
    代理、通知、KVO的应用
    CAlayer层的属性
    UIView的autoresizingMask和autoresizesSubviews属性的剖析
    面向对象编程思想(OOP)总结
    scala中闭包的使用
  • 原文地址:https://www.cnblogs.com/lqcjlu/p/12749665.html
Copyright © 2020-2023  润新知