集合常用的方法

add()       向集合中增加一个元素,如果集合中已经有了这个元素,那个这个方法就会失效

 >>> help(set.add)
Help on method_descriptor: add(...)
Add an element to a set. #向集合中添加一个元素 This has no effect if the element is already present. #集合中已经存在元素,则这个方式失效 >>> a ={"baidu","google"}
>>> type(a)
<type 'set'>
>>> a.add("weibo") #向集合a中添加元素
>>> a
set(['baidu', 'weibo', 'google'])
>>> id(a) #集合a在内存中的地址
64656104L
>>> a.add("ali") #向集合a中添加元素
>>> a
set(['baidu', 'weibo', 'google', 'ali'])
>>> id(a) #集合a中的内存地址没有发生改变,是原地修改,是可变集合
64656104L
>>> a.add("google") #如果增加的元素在集合中存在,则不会做任何操作
>>> b ={} #创建一个空的集合
>>> b.add("python")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'dict' object has no attribute 'add' #报错信息为字典中没有add函数
>>> type(b) #b是一个字典
<type 'dict'>
>>> b =set() #创建一个空集合
>>> type(b)
<type 'set'>
>>> b.add("python") #向b中添加一个元素
>>> b
set(['python'])
>>> b.add([1,2,3]) #向b中添加一个列表,报错列表是不可hash的,是可改变的
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> b.add((1,2,3)) #可以向集合中添加一个元素
>>> b
set(['python', (1, 2, 3)])
>>>

update() 更新

 >>> help(set.update)
Help on method_descriptor: update(...)
Update a set with the union of itself and others. #更新一个集合,用这个集合本身和另外 参数里面的内容转换为集合 >>> a
set(['baidu', 'weibo', 'google', 'ali'])
>>> b
set(['python', (1, 2, 3)])
>>> a.update(b) #将集合b更新到a集合中
>>> a
set(['baidu', 'weibo', 'google', 'ali', 'python', (1, 2, 3)])
>>> a.update("test") #将一个字符串更新到集合a中
>>> a
set(['baidu', 'weibo', 's', 'google', 'e', 't', 'ali', 'python', (1, 2, 3)])
>>>

pop() 从集合中随机删除一个元素,并且把这个元素作为返回值,pop函数没有参数,不能指定元素

 >>> help(set.pop)
Help on method_descriptor: pop(...)
Remove and return an arbitrary set element. #从集合中移除一个元素,并且把这个元素返回
Raises KeyError if the set is empty. #如果这个集合为空,那么会报错keyError >>> b
set(['python', (1, 2, 3)])
>>> b.pop()
'python'
>>> b
set([(1, 2, 3)])
>>>

remove() 从集合中删除指定的元素,删除的元素必须是集合中的一员,如果不是,则会报错KeyError

 >>> help(set.remove)
Help on method_descriptor: remove(...)
Remove an element from a set; it must be a member. #从集合中删除指定的元素,删除的元素必须是集合中的一员 If the element is not a member, raise a KeyError. #如果不是集合中的元素,则会报错KeyError >>> a
set(['baidu', 'weibo', 's', 'google', 'e', 't', 'ali', 'python', (1, 2, 3)])
>>> a.remove("s")
>>> a
set(['baidu', 'weibo', 'google', 'e', 't', 'ali', 'python', (1, 2, 3)])
>>> a.remove("s")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 's'
>>>

discard() 从集合中删除指定的元素,删除的元素必须是集合中的一员,如果不是,则不作任何操作

与remove()类似,区别就是remove() 删除不是集合中的元素,则会报错。而discard()删除不是集合中的元素,则不会报错。

示例:

 >>> help(set.discard)
Help on method_descriptor: discard(...)
Remove an element from a set if it is a member. If the element is not a member, do nothing. >>> a.discard("s")
>>>

clear() 删除集合中所有的元素

 >>> help(set.clear)
Help on method_descriptor: clear(...)
Remove all elements from this set. >>> a.clear()
>>> a #集合为一个空集合
set([])
>>>

最新文章

  1. JS:offsetWidth\offsetleft 等图文解释
  2. [Linux]系统调用理解(3)
  3. luajava学习一
  4. ping: unknown host www.baidu.com
  5. weka数据预处理
  6. HDU1556-color the ball(线段树)
  7. OleDbType.Decimal在插入DB2后会默认赋值0.00,改为OleDbType.Double则正常
  8. discuz X3.2邮箱非必填
  9. [iOS基础控件 - 6.5] UITableView的数据刷新
  10. Android Dialog触摸对话框外部让其消失的实现方法
  11. 利用Range改变光标位置
  12. 盘点20款表现出众的HTML5游戏
  13. python输出htmltestrunner中文乱码如何解决
  14. java--调整JVM内存的大小
  15. java8 - IO
  16. 原生js实现下拉菜单
  17. android studio打可执行jar包
  18. js动态添加未知新属性
  19. C++ code:位操作实例(bit operation example)
  20. HTTP是什么?,GET与POST区别?

热门文章

  1. Java泛型拾遗
  2. 移动端适配(3)——rem适配
  3. 排序算法lowb三人组-插入排序
  4. 软件项目技术点(6)——结合鼠标操作绘制动态canvas画布
  5. js和.net后台交互
  6. How to use Log4cplus
  7. Sort函数的用法
  8. HTML 5篇(持续更新)
  9. maven项目怎么引入另一个maven项目
  10. eclipse安装checkStyle