【python】 集合方法操作汇总

基本数据类型 : set

 集合(set)特点 :

  • 无序
  • 不能重复(自动去重)
  • 用 {} 或 set()函数 来表示集合
  • 空集合 : set()
1 name = {"江户部柯南","基德","灰原哀","工藤新一"}
2 name1 = set(["江户部柯南","基德","灰原哀","工藤新一"])
3 print(type(name),type(name1)) 

运行结果 :
<class 'set'> <class 'set'>

 

 1.1  新增

  • set.add("m")           将元素m添加到集合末尾(无返回值)
  • set.update("m")      将元素m逐个字符插入到集合中(无返回值)
### 新增集合   add()   update()

1 name = {"江户部柯南","基德","灰原哀","工藤新一"} 2 name.add("服部平次") ### 添加元素“服部平次” 3 print(name) 4 5 a = name.update("服部平次") ### 将“服部平次”逐个插入到集合中 6 print(a,name)

 

 1.2  删除

  • set.remove("e")        根据元素名删除
  • set.pop()                   随机删除一个元素
  • del 列表名                 删除整个集合
  • set.clear()            清空集合中的所有元素
### 删除集合  remove()   pop()   del    clear()

1 name = {"江户部柯南","基德","灰原哀","工藤新一"}
### 删除元素“基德” 3 name.remove("基德") 4 print(name) ### 随机删除一个元素 6 name.pop() 7 print(name) ### 将集合name删除 9 del name 10 print(name) ### 清空集合中的元素 12 name.clear() 13 print(name)

 

1.3  去重、求交集、差集、并集、超集

  • set()     可用于字符串、列表、集合去除重复的元素
1 name_set = {"江户部柯南","基德","灰原哀","江户部柯南","工藤新一"}
2 name_list = ["江户部柯南","基德","灰原哀","江户部柯南","工藤新一"]
### 去除重复的元素 4 print(set(name_set)) 5 print(set(name_list))

运行结果:
{'灰原哀', '江户部柯南', '基德', '工藤新一'} {'灰原哀', '江户部柯南', '基德', '工藤新一'}
  •  & /  集合名1.intersection(集合名2)  :  求两个集合的交集
### 求交集    & 、  set.intersection(set2)

1 set1 = {1,2,3,4} 2 set2 = {3,4,5,6} # 法一: 4 print(set1 & set2) # 法二: 6 print(set1.intersection(set2))

运行结果:

 {3, 4}
 {3, 4}

  • ^  /  集合名1.symmetric_difference(集合名2)  : 求两个集合的反交集
### 求反交集   ^   、  集合名1.symmetric_difference(集合名2)  

1 set1 = {1,2,3,4,5} 2 set2 = {4,5,6,7,8} # 法一: 4 print(set1 ^ set2) # 法二: 6 print(set1.symmetric_difference(set2))

运行结果:

  {1, 2, 3, 6, 7, 8}
  {1, 2, 3, 6, 7, 8}

  • -     /   集合名1.difference(集合名2)   :  求两个集合的差集
### 求差集    集合1 - 集合2     /   集合名1.difference(集合名2)

1 set1 = {1,2,3,4,5} 2 set2 = {4,5,6,7,8} # 法一 4 print(set1 - set2) 5 print(set2 - set1) # 法二 7 print(set1.difference(set2)) 8 print(set2.difference(set1))

运行结果:

  {1, 2, 3}
  {8, 6, 7}
  {1, 2, 3}
  {8, 6, 7}

  •  |     /     集合名1.union(集合名2)    求两个集合的并集
###  集合名1 | 集合名2    、    集合名1.union(集合名2)

1 set1 = {1,2,3,4,5} 2 set2 = {4,5,6,7,8} # 法一 4 print(set1 | set2) # 法二 6 print(set1.union(set2))
  •   集合1.issubset(集合2)          判断集合1是否为集合2的子集
  •   集合1.issuperset(集合2)       判断集合1是否为集合2的超集
1 set1 = {1,2,3}
2 set2 = {1,2,3,4,5,6}
3 print(set1 < set2)
4 print(set1.issubset(set2))    #子集
5 print(set1.issuperset(set2))    #超集

可变数据类型 :list[] 、dict{}
不可变数据类型 : int 、 str 、 tuple()

posted @ 2019-01-03 09:28  L的个人博客  阅读(210)  评论(0编辑  收藏  举报