51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4270|回复: 0
打印 上一主题 下一主题

[第6章:组合数据类型] 集合的常见操作

[复制链接]

 成长值: 15613

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74104
    跳转到指定楼层
    楼主
    发表于 2018-8-5 19:40:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    集合的常见操作:
    1. #!/usr/bin/python3.6
    2. s={1010,"1010",78.9,'abc'}
    3. print(type(s)) #s的数据类型,结果为'set'
    4. print(len(s)) #s的长度,结果为4,表示有4个数据。
    5. print(s) #输出s,但因为set是无序的,所以输出结果和s的初始定义值顺序可能不同。
    6. t={666,888,'abc',99.9,666,555}
    7. print(t) #set的结果会自动去重。参考结果是{666,888,'abc',99.9,555}
    8. '''
    9. 集合内的元素没有顺序,不能比较,不能排序,不能切片
    10. 所以,s[0]是不合法的。
    11. Set的运算包括:S-T、S&T、S^T、S|T,分别对应数学中的差集、交集、补集、并集。
    12. '''
    13. S={1010,"1010",78.9}
    14. T={1010,"1010",12.3,1010,1010}
    15. print(S-T) #计算差集,结果是{78.9}
    16. print(T-S) #计算差集,结果是{12.3}
    17. print(S&T) #计算交集,结果是{1010,"1010"}
    18. print(S^T) #计算补集,也就是两个Set中的非共同元素。结果是{78.9,12.3}
    19. print(S|T) #计算并集,结果是{1010,"1010",78.9,12.3}
    20. print(S.add('abc')) #集合的添加操作,增加abc这个元素
    21. print(S)   #结果是{78.9, 1010, 'abc', '1010'}
    22. print(S.remove(1010)) #集合的删除操作,删除1010这个元素
    23. print(S)  #结果是{78.9, 'abc', '1010'}
    24. print('abc' in S) #检查'abc'这个元素是否在集合S中,结果为True
    25. print(1010 not in S) #检查1010这个元素是否不在集合S中,结果为True
    26. print(S.clear())  #将集合S清空
    27. print(S)   #输出为set{},set{}表示空集合。
    28. '''
    29. 集合类型主要用于元素去重,适合于任何组合数据类型。
    30. '''
    31. S = set('知之为知之不知为不知')
    32. print(S) #结果是:{'之', '为', '知', '不'}
    33. for i in S:
    34.     #print()
    35.     print(i,end=":")   #结果是:不:之:为:知:
    复制代码
    结果是:
    1. <class 'set'>
    2. 4
    3. {'abc', 1010, '1010', 78.9}
    4. {99.9, 555, 'abc', 888, 666}
    5. {78.9}
    6. {12.3}
    7. {1010, '1010'}
    8. {12.3, 78.9}
    9. {1010, '1010', 12.3, 78.9}
    10. None
    11. {'abc', 1010, '1010', 78.9}
    12. None
    13. {'abc', '1010', 78.9}
    14. True
    15. True
    16. None
    17. set()
    18. {'之', '为', '不', '知'}
    19. 之:为:不:知:
    复制代码
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2025-1-31 14:40 , Processed in 0.056215 second(s), 31 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表