51学通信论坛2017新版

标题: 集合的常见操作 [打印本页]

作者: admin    时间: 2018-8-5 19:40
标题: 集合的常见操作
集合的常见操作:
  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. 之:为:不:知:
复制代码





欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/) Powered by Discuz! X3