当前位置:   article > 正文

python学习笔记------集合(set)

python学习笔记------集合(set)

集合定义格式

基本语法:

#定义集合字面量

{元素,元素,元素......,元素}

#定义集合变量

变量名称={元素,元素,元素......,元素}

#定义空集合

变量名称=set()

  1. #定义集合字面量 {元素,元素,元素......,元素}
  2. {1,2,7,"zhangsan"}
  3. #定义集合变量 变量名称={元素,元素,元素......,元素}
  4. name={3,"zhangsan",5,"lisi"}
  5. print(f"name的类型是{type(name)},name的内容:{name}")
  6. #定义空集合 变量名称=set()
  7. j=set()
  8. print(f"j的类型是{type(j)},内容为:{j}")

集合的常用操作

 集合是无序的,所以集合不支持:下标索引访问,

但集合和列表一样允许修改

添加新元素

集合本身被修改,添加新元素

语法:集合.add(元素)

  1. name.add("python")
  2. print(f"name的类型是{type(name)},name的内容:{name}")
  3. name.add("python")
  4. print(f"name的类型是{type(name)},name的内容:{name}")

 

集合不允许重复,所以只添加一次"python" 

移除元素

语法:集合.pop()   从集合中随机取出元素

结果:会得到一个元素的结果。同时集合本身被修改,元素被移除

  1. #移除元素
  2. my_set={3,"zhangsan",5,"lisi","lisi","wangwu"}
  3. element=my_set.pop()
  4. print(my_set)
  5. print(element)

 清空集合

语法:集合.clear()  清空集合

结果:集合被清空

  1. #清空集合
  2. print(name)
  3. name.clear()
  4. print(name)

 取两个集合的差集

语法:集合1.difference(集合2)  取出集合1和集合2的差集(集合1有,集合2没有的)

结果:得到一个新集合,集合1和集合2不变

  1. #取两集合差集
  2. my_set1={3,"zhangsan",5,"lisi","lisi","wangwu","c++"}
  3. my_set2={"java","python","php","zhangsan",6}
  4. my_set3=my_set2.difference(my_set1)
  5. print(f"my_set1的内容是{my_set1}")
  6. print(f"my_set2的内容是{my_set2}")
  7. print(f"my_set3的内容是{my_set3}")

 消除2个集合的差集

语法:集合1.diference_update(集合2)

功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素

结果:集合1被修改,集合2不变

  1. #消除两集合差集
  2. print(f"my_set1的内容是{my_set1}")
  3. print(f"my_set2的内容是{my_set2}")
  4. my_set1.difference_update(my_set2)
  5. print(f"my_set1的内容是{my_set1}")
  6. print(f"my_set2的内容是{my_set2}")

 

 合并集合

语法:集合1.union(集合2) 

结果:得到新集合,集合1和集合2不变

  1. #合并集合
  2. my_set1={3,"zhangsan",5,"lisi","lisi","wangwu","c++"}
  3. my_set2={"java","python","php","zhangsan",6}
  4. my_set3=my_set2.union(my_set1)
  5. print(f"my_set1的内容是{my_set1}")
  6. print(f"my_set2的内容是{my_set2}")
  7. print(f"my_set3的内容是{my_set3}")

统计集合元素数量

语法:len(集合)

注意:集合会去重

集合的遍历

集合不支持下标索引,所以不能用while循环

可以用for循环

  1. #定义集合字面量 {元素,元素,元素......,元素}
  2. {1,2,7,"zhangsan"}
  3. #定义集合变量 变量名称={元素,元素,元素......,元素}
  4. name={3,"zhangsan",5,"lisi"}
  5. print(f"name的类型是{type(name)},name的内容:{name}")
  6. #定义空集合 变量名称=set()
  7. j=set()
  8. print(f"j的类型是{type(j)},内容为:{j}")
  9. #添加元素
  10. name.add("python")
  11. print(f"name的类型是{type(name)},name的内容:{name}")
  12. name.add("python")
  13. print(f"name的类型是{type(name)},name的内容:{name}")
  14. #移除元素
  15. my_set={3,"zhangsan",5,"lisi","lisi","wangwu"}
  16. element=my_set.pop()
  17. print(my_set)
  18. print(element)
  19. #清空集合
  20. print(name)
  21. name.clear()
  22. print(name)
  23. #取两集合差集
  24. my_set1={3,"zhangsan",5,"lisi","lisi","wangwu","c++"}
  25. my_set2={"java","python","php","zhangsan",6}
  26. my_set3=my_set2.difference(my_set1)
  27. print(f"my_set1的内容是{my_set1}")
  28. print(f"my_set2的内容是{my_set2}")
  29. print(f"my_set3的内容是{my_set3}")
  30. #消除两集合差集
  31. print(f"my_set1的内容是{my_set1}")
  32. print(f"my_set2的内容是{my_set2}")
  33. my_set1.difference_update(my_set2)
  34. print(f"my_set1的内容是{my_set1}")
  35. print(f"my_set2的内容是{my_set2}")
  36. #合并集合
  37. my_set1={3,"zhangsan",5,"lisi","lisi","wangwu","c++"}
  38. my_set2={"java","python","php","zhangsan",6}
  39. my_set3=my_set2.union(my_set1)
  40. print(f"my_set1的内容是{my_set1}")
  41. print(f"my_set2的内容是{my_set2}")
  42. print(f"my_set3的内容是{my_set3}")
  43. #遍历元素
  44. for i in my_set1:
  45. print(i)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/219681
推荐阅读
相关标签
  

闽ICP备14008679号