博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之 set的特点
阅读量:7033 次
发布时间:2019-06-28

本文共 862 字,大约阅读时间需要 2 分钟。

hot3.png

set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。

set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。

最后,set存储的元素也是没有顺序的。

由于 set 也是一个集合,所以,遍历 set 和遍历 list 类似,都可以通过 for 循环实现。

直接使用 for 循环可以遍历 set 的元素:

>>> s = set(['Jack', 'Lisa', 'Bart'])>>> for name in s:...     print name... LisaJackBart

注意: 观察 for 循环在遍历set时,元素的顺序和list的顺序很可能是不同的,而且不同的机器上运行的结果也可能不同。

Python之 更新set

由于set存储的是一组不重复的无序元素,因此,更新set主要做两件事:

一是把新的元素添加到set中,二是把已有元素从set中删除。

添加元素时,用set的add()方法:

>>> s = set([1, 2, 3])>>> s.add(4)>>> print sset([1, 2, 3, 4])

删除set中的元素时,用set的remove()方法

>>> s = set([1, 2, 3, 4])>>> s.remove(4)>>> print sset([1, 2, 3])

如果删除的元素不存在set中,remove()会报错。

判断元素是否在set中,使用in操作符。

s = set(['Adam', 'Lisa', 'Paul'])L = ['Adam', 'Lisa', 'Bart', 'Paul']for name in L:    if name in s:        s.remove(name)    else:        s.add(name)print s

 

转载于:https://my.oschina.net/u/140406/blog/1829603

你可能感兴趣的文章
不写C,写心情
查看>>
音视频学习
查看>>
我的友情链接
查看>>
使您轻松地进行多线程应用程序编程
查看>>
感觉自己写不出这样的博客
查看>>
Unity内存优化技术测试案例
查看>>
剖析:未来搬家公司的发展
查看>>
JAVA二维码生成
查看>>
对上一篇博文的修改
查看>>
平林xia抽象
查看>>
ORACLE 的锁
查看>>
静态语言与动态语言
查看>>
我的友情链接
查看>>
eclipse 解决编译出现GBK或UTF8 编码错误的方法
查看>>
CSS综合复习(三)
查看>>
脚本化文档
查看>>
多线程
查看>>
linux双网卡绑定简要步骤
查看>>
setsockopt()用法
查看>>
sed命令实例
查看>>