python--set方法总结

python--set方法总结

    • 概述
    • 构造
    • 基本操作(增,删,查,改)
    • 逻辑运算

概述

特点:一个无序不重复元素集
功能:关系测试(并,交,差,对称差)和消除重复元素
特殊:sets不支持indexing, slicing, 或其它类序列(sequence-like)的操作。
注:以下运算中,t与s都set集合,x为集合中的元素

构造

set()               #空集合定义
Set1 = {"1", "2"}
set2 = set(list1)
Set3 =set(str)      #例如:set('spam') ==set(['a', 'p', 's', 'm'])=={'a', 'p', 's', 'm'}   str-->字符list-->set
t=s                 #t为集合s的一个引用
t=s.copy()          #t为集合s的一个浅复制  

基本操作(增,删,查,改)

  • 增加
t.add(x)            # 添加一项  
s.update(t)         # 在s中添加多项  
  • 删除
s.remove(x)         #删除集合中的元素 x,返回集合 , 如果不存在则引发 KeyError  
s.discard(x)        #删除集合中的元素 x,返回集合,如果不存在返回集合本身
s.pop()             #删除集合中的任一不确定的元素, 返回集合,如果为空则引发 KeyError  
s.clear()           #清空集合  
  • 查看
len(s)             #set 的长度  
hash(s)            #返回 s 的 hash 值  

逻辑运算

a = t | s          # t 和 s的并集   s.union(t)  
b = t & s          # t 和 s的交集  s.intersection(t) )  
c = t – s          # 求差集(项在t中,但不在s中)  s.difference(t)
d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)  s.symmetric_difference(t) 
s|=t               # 将t添加到s中  s.update(t)  
s <= t             #s是t的子集  返回bool  s.issubset(t)  
s >= t             #s是t的父集   返回bool  s.issuperset(t) 
s==t               #s与t互为子集
s!=t               #集合s与t不相等
x in s             # x 在集合 s 中   返回bool 
x not in s         # x 不在集合 s 中  返回bool 

如有任何问题,欢迎留言.

你可能感兴趣的:(Python)