零基础入门python3.7 ——基础知识总结(七)集合(set)

Fiona ·
更新时间:2024-09-20
· 906 次阅读

一,集合 set

python中的集合和数学中的集合是一样的,用来保存不重复的元素。也就是说集合中的元素是唯一的。

二。创建集合

1。 使用{}创建

a = {1, 3, "java", 'python'} print(a) {1, 3, 'java', 'python'}

2。使用set()函数创建

a = set([1, 2, "java", 'python']) print(a) print("---------") b = set("python") print(b) print('---------') c = set((1, 2, 'java', 'python')) print(c) print('---------') d = set(range(0, 10)) print(d) {1, 2, 'java', 'python'} --------- {'y', 'o', 't', 'n', 'h', 'p'} --------- {1, 2, 'java', 'python'} --------- {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

注意:

     1。 同一集合内不能出现可变的数据类型

a = {1, 2, [1, 2]} print(a) Traceback (most recent call last): File "/Users/apple/Documents/重要文件/python3/python20.py", line 1, in a = {1, 2, [1, 2]} TypeError: unhashable type: 'list'

      2。如果集合中出现相同的元素那么只会保留一个

a = {1, 2, 2} print(a) {1, 2} 三。集合元素的访问

由于集合中的元素是无序的所以无法像访问列表那样通过下标访问。 一般的做法是通过循环访问

a = {1, 2, 2} for key in a: print(key) 1 2 四。集合删除 

和其他类型一样可通过del关键字删除

a = {1, 2, 2} print(a) del a print(a) {1, 2} Traceback (most recent call last): File "/Users/apple/Documents/重要文件/python3/python20.py", line 4, in print(a) NameError: name 'a' is not defined 五。add()集合中添加元素

该方法不能添加可变的数据类型。 否则会报错

a = {1, 2, 2} print(a) a.add("java" ) print(a) a.add(["python", "js"]) print(a) {1, 2} {1, 2, 'java'} Traceback (most recent call last): File "/Users/apple/Documents/重要文件/python3/python20.py", line 5, in a.add(["python", "js"]) TypeError: unhashable type: 'list' 六。 remove()集合删除元素

该方法删除元素时。如果元素不存在则会报错

a = {1, 2, 2} print(a) a.remove(1) print(a) a.remove( "java" ) print(a) {1, 2} {2} Traceback (most recent call last): File "/Users/apple/Documents/重要文件/python3/python20.py", line 5, in a.remove( "java" ) KeyError: 'java' 七。 discard() 方法删除元素

该犯法当被删除元素不存在时不会报错

a = {1, 2, 2} print(a) a.discard(1) print(a) a.discard("java") print(a) {1, 2} {2} {2} 八。 set的交集。并集。差集

   1。“&”交集。 取两个元素之间的公共元素

a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} c = a & b print(c) {1, 'java'}

  2。 “|”并集。 取两个集合之间的全部元素

a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} c = a | b print(c) {1, 'c', 2000, 'java', 'js', 'python'}

  3。“-” 差集。取一个集合中在另一个集合中不存在的元素

a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} c = a - b print(c) {2000, 'python'}

  4  “^”对称差集。 取集合一和集合二中不属于集合一和集合二交集的元素

a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} c = a ^ b print(c) {2000, 'js', 'c', 'python'} 九。clear()清空集合中所有的元素 a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} print(a) a.clear() print(a) {'python', 1, 'java', 2000} set() 十。difference().  a中没有二b中有的元素 a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} c = b.difference(a) print(c) {'js', 'c'} 十一。difference_update().  删除集合一中与集合二相同的元素 a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} a.difference_update(b) print(a) {2000, 'python'} 十二。intersection()。得到集合一和集合二的交集 a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} c = a.intersection(b) print(c) {1, 'java'} 十三。 intersection_update()得到集合一和集合二的交集并更新集合一 a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} a.intersection_update(b) print(a) {'java', 1} 十四。isdisjoint().  判断集合一和集合二是否有交集。 如果有返回False。没有返回True a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} c = a.isdisjoint(b) print(c) False 十五。issubset()判断集合一是不是集合二的子集。 是返回True、不是返回False a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} c = a.issubset(b) print(c) False 十六。 issuperset()判断集合二是不是集合一的子集,是返回True、不是返回False a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} c = b.issuperset(a) print(c) False 十七。pop()删除元素。 a = {"java", 'python', 1, 2000} a.pop() print(a) {1, 'python', 'java'} 十八。symmetric_difference()取得集合一和集合二中不同的元素 a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} c = a.symmetric_difference(b) print(c) {2000, 'js', 'c', 'python'} 十九。symmetric_difference_update()取出集合一和集合二中不同的元素。并更新集合 a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} a.symmetric_difference_update(b) print(a) {'c', 'python', 2000, 'js'} 二十。union()求两个集合的并集 a = {"java", 'python', 1, 2000} b = {"java", 'js', 'c', 1} c = a.union(b) print(c) {1, 2000, 'python', 'c', 'js', 'java'} 二十一。添加元素。添加列表或集合中的元素 a = {"java", 'python', 1, 2000} a.update([200, 3000]) print(a) {'java', 1, 200, 2000, 'python', 3000}  
作者:雯倾浅忆



set 零基础 Python3 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号