集合操作

Posted brace2011

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合操作相关的知识,希望对你有一定的参考价值。

1. 集合操作:
 集合也是无序的
 s = set([1,2,3,4,5,6])
 print(s)
 
 输出:
 {1, 2, 3, 4, 5, 6}
 
 
 1.1 去重功能:
  list1=[1,2,3,4,5,6,1,2,5,6]
  list1=set(list1)
  print(list1)       #输出:{1, 2, 3, 4, 5, 6}
 
 1.2 关系测试:
  list1=set([1,2,13,4,5,6,1,2,15,6])
  list2=set([11,2,3,24,15,6,1,12,5,6])
  list3 = set([1,2,5,6])
  list4 = set([25,26])
  
  交集:
  print(list1.intersection(list2))         #输出:{1, 2, 5, 6, 15}
  
  并集:
  print(list1.union(list2))     #输出:{1, 2, 3, 4, 5, 6, 11, 12, 13, 15, 24}
  
  差集:在其一不再其二
  print(list1.difference(list2))    #输出:{4, 13}
  
  判断是否是子集
  print(list1.issubset(list2))    #输出:False
  print(list3.issubset(list1))    #输出:True
  
  判断是否是父集
  print(list1.issuperset(list2))    #输出:False
  print(list1.issuperset(list3))    #输出:True
  
  判断是否不存在交集:
  print(list1.isdisjoint(list3))    #输出:False  存在交集
  print(list1.isdisjoint(list4))    #输出:True
  
  对称差集:(在2个都没有的元素取出,及并集去掉交集)
  print(list1.symmetric_difference(list2))  #输出:{3, 4, 11, 12, 13, 24}
  
 1.3 运算来表示关系测试:
  list1=set([1,2,13,4,5,6,1,2,15,6])
  list2=set([11,2,3,24,15,6,1,12,5,6])
  list3 = set([1,2,5,6])
  list4 = set([25,26])
  
  交集:
  print(list1 & list2)
  并集:
  print(list1 | list2)
  差集:
  print(list1 - list2)
  对称差集:
  print(list1 ^ list2)
  
  输出:
  {1, 2, 5, 6, 15}
  {1, 2, 3, 4, 5, 6, 11, 12, 13, 15, 24}
  {4, 13}
  {3, 4, 11, 12, 13, 24}
  
  
 1.3 集合的增删改查:
  添加:
  list1=set([1,2,13,4,5,6,1,2,15,6])
  list1.add("xx")     # 添加1项
  list1.update([90,67,45])  # 添加多项
  print(list1)     #输出:{1, 2, ‘xx‘, 4, 5, 6, 67, 13, 45, 15, 90}
  
  删除(集合天生就是去重的):
  t.remove(90)     #如果删除不存在的数据会报错
  t.discard(90)     #如果删除不存在的数据不会报错
  
  x = list1.pop()     #随机删除一个,并返回删除的值
  print(x)      #1
  
  len(list1)      #求集合的长度
  
  x in s        #测试x是否是s成员
  x not in s      #测试x是否不是s成员
  
  s.copy()      #浅复制




















































































以上是关于集合操作的主要内容,如果未能解决你的问题,请参考以下文章

关于C++集合操作赋值和集合间操作的结果集合的疑问

关于C++集合操作赋值和集合间操作的结果集合的疑问

RedisRedis 集合 Set 操作 ( Set 集合数据 | 查询操作 | 查询所有值 | 随机获取值 | 获取交集并集差集 | 增操作 | 删操作 | 修改操作 )

Groovy集合遍历 ( 操作符重载 | 集合中的 “ + “ 操作符重载 | 集合中的 “ - “ 操作符重载 | 代码示例 )

Groovy集合遍历 ( 操作符重载 | 集合中的 “ + “ 操作符重载 | 集合中的 “ - “ 操作符重载 | 代码示例 )

Groovymap 集合 ( map 集合操作符重载 | *. 展开操作符 | 代码示例 )