Python集合set常用方法及删除操作

set()是Python中的集合,集合:是一个无序且不重复的元素集合。从定义中就可以看出,集合的特点:1.无序;2.元素不重复。

函数/方法名

  等价操作符 说明
所有集合类型
len(s)   集合基数:集合s中元素个数
set([obj])   可变集合工厂函数:ojb必须是支持迭代的,由obj中的元素创建集合,否则创建一个空集合
frozenset([obj])   不可变集合工厂函数:执行方式好set()方法相同,但它返回的是不可变集合
  obj in s 成员测试
  obj not in s 非成员测试
  s == t 等价测试
  s != t 不等价测试
  s < t (严格意义上)子集测试
s.issubset(t) s <= t 子集测试
  s > t (严格意义上)超集测试
s.issuperset(t) s >= t 超集测试
s.union(t) s | t 合并操作
s.intersec-tion(t) s & t 交集操作
s.difference(t) s – t 差分操作
s.symmetric_fifference(t) s ^ t 对称差分操作
s.copy()   赋值操作:返回s的(浅复制)副本
仅适用于可变集合
s.update(t) s |= t (Union)修改操作:将t中的成员添加s
s.intersection_update(t) s &= t 交集修改操作:s中仅包括s和t中共有的成员
s.difference_update(t) s -= t 差修改操作:s中仅包括属于s但不属于t的成员
s.symmetric_difference_ update(t) s ^= t 对称差分修改操作:s中包括仅属于s或仅属于t的成员
s.add(obj)   加操作:将obj添加到s
s.remove(obj)   删除操作
s.discard(obj)   丢弃操作:remove()的友好版本,如果s中存在ojb,从s中删除它
s.pop()   Pop操作:移除并返回s中的任意一个值
s.clear()   清除操作:移除s中的所有元素

set.discard()
discard(ele)将一个元素从集合中移除。如果元素不存在于集合中,它不会抛出KeyError;如果存在于集合中,则会移除数据并返回None。

set.remove()
remove(ele)也是从集合中移除元素。如果该元素不存在于集合中,则会抛出KeyError;如果存在集合中,则会移除该元素并返回None。

set.pop()
pop()从集合中移除元素,并返回任意一个元素。如果不存在集合中,也会抛出KeyError;如果存在集合中,则会移除元素。

​ pop和其他两个不同的是,不需要将删除的元素放在方法中。且该方法删除元素是从元素最上面依次删除

s = {'name','addr','age',1,66}
print(s)
s.discard('phone')
s.remove('phone')
{1, 66, 'name', 'addr', 'age'}
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-60-e1586ad279be> in <module>()
      2 print(s)
      3 s.discard('phone')
----> 4 s.remove('phone')

KeyError: 'phone'

 

参考:

https://www.cnblogs.com/lemonbit/p/6239156.html

http://www.baidu.com/link?url=JV_RdTmroVMXIe-FKaU9QEctwtjIHmTC-QQ-eqLjHbg03t38O2ev6_E4FXWVzdldWrAiRt26ZD07SaCAo-lSv_&wd=&eqid=c81c884a0000bb1a000000065b446c43

 

posted @ 2018-07-10 16:51  Salane  阅读(2184)  评论(0编辑  收藏  举报