python集合
2018-06-18 02:05:48来源:未知 阅读 ()
1,补充一点列表传参需要注意的地方:列表传参,是传引用
#!/usr/bin/python #coding:utf-8 def show( l ): print '函数里面' print id( l ) l[0] = 100 a = [ 10, 20, 30 ] print '调用前' print id( a ) print '调用后' show( a ) print a
执行结果:
ghostwu@ghostwu:~/python/tmp$ !p python list_arg.py 调用前 140000495519000 调用后 函数里面 140000495519000 [100, 20, 30]
2,我们可以在函数里面对传递的列表参数,做一个拷贝,就不会是传引用了
#!/usr/bin/python #coding:utf-8 def show( l ): b = l[:] print '函数里面' print id( b ) b[0] = 100 a = [ 10, 20, 30 ] print '调用前' print id( a ) print '调用后' show( a ) print a
执行后
ghostwu@ghostwu:~/python/tmp$ python list_arg2.py 调用前 140145018864920 调用后 函数里面 140145018776680 [10, 20, 30]
集合:没有顺序的概念,不能进行索引或者切片操作
1、创建集合. set():可变的 不可变的frozenset()
2,集合add与update操作
>>> a = set() >>> type( a ) <type 'set'> >>> a.add( 10 ) >>> a.add( 20 ) >>> a set([10, 20]) >>> a.add( 'ghostwu' ) >>> a set([10, 20, 'ghostwu']) >>> a.update( 'ghostwu' ) >>> a set(['g', 'h', 10, 'o', 's', 20, 't', 'w', 'u', 'ghostwu']) >>>
update操作,把自身一个个添加到集合
remove操作,删除一个不存在的元素会报错
>>> a set(['g', 'h', 10, 'o', 's', 20, 't', 'w', 'u', 'ghostwu']) >>> a.remove( 'ghostwu' ) >>> a set(['g', 'h', 10, 'o', 's', 20, 't', 'w', 'u']) >>> a.remove( 20 ) >>> a set(['g', 'h', 10, 'o', 's', 't', 'w', 'u']) >>> a.remove( 'ab' ) Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'ab' >>>
判断成员是否存在in, not in
>>> a set(['g', 'h', 10, 'o', 's', 't', 'w', 'u']) >>> 'g' in a True >>> 'h' not in a False >>> 10 in a True >>>
集合:交集,并集,差集
交集:
>>> a = set( 'abcd' ) >>> b = set( 'bcdef' ) >>> a & b set(['c', 'b', 'd']) >>>
并集:
>>> a | b set(['a', 'c', 'b', 'e', 'd', 'f']) >>>
差集:
>>> a - b set(['a']) >>> b - a set(['e', 'f']) >>>
去重复:
>>> l = [1,2,3] >>> l.append( 1 ) >>> l.append( 3 ) >>> l [1, 2, 3, 1, 3] >>> a = set( l ) >>> a set([1, 2, 3]) >>> type( a ) <type 'set'> >>> l [1, 2, 3, 1, 3] >>> l = list ( a ) >>> l [1, 2, 3] >>>
frozenset不能进行add,remove操作
>>> s = frozenset( 'abc' ) >>> s frozenset(['a', 'c', 'b']) >>> s.add( 'd' ) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'frozenset' object has no attribute 'add' >>> s.remove( 'a' ) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'frozenset' object has no attribute 'remove' >>>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash