免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3188 | 回复: 0
打印 上一主题 下一主题

Python set的变化 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-09 11:07 |只看该作者 |倒序浏览
在Python2.5/2.6之前,我们可以说python插件的数据类型有:
整型、长整型、浮点型、字符串、布尔型、列表和元组、字典、当然还有xrange,None型等等
在Python 3.0中,长整型消失,只有一个整型,可以无限长度(整型的实现跟具体硬件无关了,跟以前的长整型类似),但长整数不再需要L尾巴。
另外一个数据类型就是set,集合。
其实集合这种类型以前就有,只不过初始化和表现有些奇怪:
以前的初始方法是有
s=set(Squence)一种显式的方法,
而输出结果看起来像这样:
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
具体参考http://www.python.org/dev/peps/pep-0218/,里面定义了set的方法和运算符。
此外,Python还提供了sets模块,里面定义了Set和ImmutableSet两种实现。
无论如何,看起来,以前的set更像个函数而不是内置的数据结构:-
在Python 3.x中,这个改变是非常明显的,sets模块消失,set()内建函数消失。
而正确的创建一个集合的语法变成了:
s={1,2,3},用花括弧的方法。
s={(1,2,3)},只会构造包含一个元素(该元素为元组)的集合。
现在看起来集合在Python中,更像是跟list/turple/dict一致的内建数据类型,而这个语法,也是PEP 218最初的建议。
list用方括号
turple用小括号
dict用花括号。
现在set用的也是花括号了。
这个变化,应该算是Python 3.0比较大的语法变化之一。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/72995/showart_1784467.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP