第六篇:基本数据类型及用法(3)

集合set

1.集合由不同无序的元素组成,集合中只能存放不可变类型(数字,字符串,元祖),例如:s={123,"abc",(1,2,"a")}
   -重复元素会被去除,所以可用集合去重,例:不考虑顺序,去除列表li中重复元素

1 li=["alex",123,"hello","alex",123]
2 print(list(set(li)))

  -还可以用集合类set(可迭代类型)定义集合,例:

1 s1=set("hello")
2 s2=set(["alex","alex","great"])
3 print(s1,s2)
4 #结果:{'e', 'l', 'o', 'h'} {'great', 'alex'}

2.集合内置方法


-add():集合中追加元素


-clear():清空集合中所有元素


-copy():复制一份集合


-pop():随机删除集合中一个元素


-remove(元素):删除指定元素,指定元素不存在会报错


-discard(元素):删除指定元素,指定元素不存在也不会报错


-set1.intersection(set2):求集合set1与set2的交集
  =set1&set2


-set1.union(set2)):求集合set1与set2的并集
  =set1|set2


-set1.update(set2):set1与set2的并集并赋值给set1


-set1.difference(set2):求集合set1与set2的差集(差集:只存在于set1中而不存在set2中的元素)
  =set1-set2


-set1.difference_update(set2):求集合set1与set2的差集并赋值给set1


-set1.symmetric_difference(set2):求集合set1与set2的交叉补集(并集扣除交集部分)
=set1^set2


-set1.symmetric_difference_update(set2):求集合set1与set2的交叉补集并赋值给set1


-set1.isdisjoint(set2):set1与set2没有交集则返回True


-set1.issubset(set2):set1是set2的子集,则返回True
 =set<=set2


-set1.issuperset(set2):set1是set2的父集,则返回True
 =set1>=set2


-forzenset("hello"):定义一个不可变集合

猜你喜欢

转载自www.cnblogs.com/hm-blog/p/9948965.html