集合操作

集合是一个无序的,不重复的数据组合,它的主要作用如下:

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系
  • 以下代码演示了去重,增删改查,以及关系测试供参考学习 集合操作
     1 #-*-coding:utf-8-*-
     2 #_author_:Keep
     3 
     4 #集合也是无序的,天生去重
     5 
     6 list_l = [1,5,2,6,3,5,1,2,3,4]
     7 list_l = set(list_l)#集合去重
     8 print(list_l,type(list_l))#type查看类型
     9 list_2 = set([5,9,8,6,7,2,3,5,6,1])
    10 print(list_l,list_2)
    11 print(list_l.intersection(list_2))#交集
    12 print(list_l.union(list_2))#并集
    13 print(list_l.difference(list_2))#差集  返回list_1中有的,list_2没有的
    14 print(list_2.difference(list_l))
    15 #子集
    16 print(list_2.issubset(list_l))#子集
    17 print(list_2.issuperset(list_l))
    18 print(list_l.symmetric_difference(list_2))#对称差集 即返回两集合都不同时存在的信息
    19 print(list_2.isdisjoint(list_l))#如果两集合没有交集就返回真,否则返回假
    20 
    21 
    22 
    23 #集合其他的一些简单表达方法
    24 print(list_l & list_2)#交集
    25 print(list_2 | list_l)#并集
    26 #difference
    27 print(list_l - list_2)#在list_1中有,但在list_2没有
    28 print(list_2 ^ list_l)#对称交集
    29 
    30 list_l.add(88888)#添加
    31 list_l.update([7777,33333])
    32 print(list_l)
    33 print(list_l.pop())#删除集合中的任意一个
    34 print(list_l.discard(88888))#删除指定的,如果集合里没有,也不会报错
    35 #list_l.remove(88) #也是删除指定的,但是如果删除的集合里没有指定的就会报错
    36 print(list_l)
    37 print(len(list_1))#查看集合长度
    View Code

     

上一篇:leetcode Find the Difference题解


下一篇:JavaScript – 两个时间字符串之间的差异