• XX学Python·集合


    集合

    • 集合是一个无序,不重复的数据序列。

    • 无序:程序员无法控制其排布顺序,无法使用索引查找或修改数据

    • 不重复:没法在集合里放入相同的值,会自动去重,类似于字典的键

    • 定义:变量={数据1,数据2,...},空集合set()

    # 无序
    set1 = {1,2,5,6,4,3}
    #在集合中会使用数据的值计算哈希值,根据哈希值排序。但程序员无法利用其顺序。
    print(set1)  # {1, 2, 3, 4, 5, 6}
    
    # 不重复
    set2 = set('123412')
    print(set2)  # {'4', '2', '1', '3'}自动去重
    
    # 定义空集合,不能用{},{}是空字典
    set3 = set()
    print(set3)  # set()
    
    # 布尔值在进行计算时 True==1,Fasle==0
    set4 = {1,12.3,True,False,'','中国'}
    print(set4)  # {False, 1, '', '中国', 12.3}
    # 元组类型可以放入集合里储存
    set5 = {1,12.3,True,False,'',(1,2)}
    print(set5)  # {False, 1, (1, 2), '', 12.3}
    
    # 列表、字典、集合本身都无法用集合储存
    # set6 = {1,12.3,True,False,'',[1,2]}  # TypeError: unhashable type: 'list'
    # set7 = {1,12.3,False,'',{1:2}}  # TypeError: unhashable type: 'dict'
    # set8 = {1,12.3,False,'',{1,2}}  # TypeError: unhashable type: 'set'
    # 不能作为集合元素的数据类型,同样不能作为字典的键出现
    dict1 = {(1,2):3}
    print(dict1)  # {(1, 2): 3}元组可以作为字典的键
    # dict2 = {[1,2]:3}  # TypeError: unhashable type: 'list'
    

    集合的增加

    set1 = {1,2,4,3}
    # add()方法 :增加单一元素
    set1.add(5)
    print(set1)  # {1, 2, 3, 4, 5}
    
    # update内部只能填写容器类型(数据序列)
    # set1.update(6)  # TypeError: 'int' object is not iterable
    set1.update([3,6,7],'ai你')  # 已存在会自动去重
    print(set1)  # {1, 2, 3, 4, 5, 6, 7, 'i', '你', 'a'}
    

    集合的删除

    set1 = {3,2,'rose','jack'}
    # remove 删除指定的元素,元素不存在会报错
    set1.remove(3)
    print(set1)  # {'rose', 2, 'jack'}
    
    # pop 随机删除一个元素 ,并将删除的元素返回
    print(set1.pop())
    print(set1)
    set1.pop()
    print(set1)
    
    # discard 删除指定的元素,元素不存在不报错
    set2 = {3,2,'rose','jack'}
    set2.discard(3)
    print(set2)
    set2.discard(8)
    print(set2)
    

    集合的遍历

    set1 = {3,2,'rose','jack'}
    for i in set1:
        print(i)
    '''结果顺序不定
    jack
    2
    3
    rose
    '''
    
  • 相关阅读:
    [UWP] 为WinRT组件创建Nuget包
    再见北京,深圳你好
    [UWP] 用 AudioGraph 来增强 UWP 的音频处理能力——AudioFrameInputNode
    [UWP] 用 AudioGraph 来增强 UWP 的音频处理能力
    UWP 多语言的三个概念
    利用 Win32 启动和检测 UWP App 的方法
    反向代理教务系统
    [UWP] Custom Capability的使用
    [UWP]针对UWP程序多语言支持的总结,含RTL
    Xamarin自定义布局系列——支持无限滚动的自动轮播视图CarouselView
  • 原文地址:https://www.cnblogs.com/portb/p/16754753.html
Copyright © 2020-2023  润新知