Python中的集合
2009-10-10 12:10
309 查看
都动态语言了,效率往往不是首先考虑的,写起来顺手才重要~
Python和Javascript都是俺很欣赏的语言,可以像C一样结构化的写,也可以OO,真正的“所有都是对象”,真正的动态类型,函数是一等公民带来很多C系语言想都不会想的效果。。
Python的常用集合就三个:list、tuple、dict。虽然它数据类型还是挺多的。
剩下有defaultdict、deque、array、heapqueue、set等。SciPy里面还可以像Matlab一样搞matrix。
list在Python里面无处不在,照源码看list是一个PyObject*的动态数组。
而且"The growth pattern is: 0, 4, 8, 16, 25, 35, 46, 58, 72, 88, ..." 好小气。很多语言都是原长度的1点几到2倍的增长。
除了数组那些功能,list还有pop、push、sort、reverse等方法。
tuple和list的区别就是创建好就不能改大小,需要的时候效率高点,其他没什么区别。
dict名字比较明显了,哈希表。类似的,每个Python对象都有__hash__(),__eq()__和__cmp__可以自己写。
collections这个模块里面到2.5暂时有两个东东:defaultdict,作用就是当要找的key不在的时候返回一个用户定义的缺省值。
deque,链表实现的双端队列。
heapq其实不是一个类,而是一组在list上做堆算法的函数,本来很多堆就是在数组上实现的。
array是专门高效存储"uniformly typed numeric values"的,比如int、char、double的。
sets不用说了,里面还有个frozenset也是不能改的。
weakref这个模块里面有WeakKeyDictionary、WeakValueDictionary。
Python和Javascript都是俺很欣赏的语言,可以像C一样结构化的写,也可以OO,真正的“所有都是对象”,真正的动态类型,函数是一等公民带来很多C系语言想都不会想的效果。。
Python的常用集合就三个:list、tuple、dict。虽然它数据类型还是挺多的。
剩下有defaultdict、deque、array、heapqueue、set等。SciPy里面还可以像Matlab一样搞matrix。
list在Python里面无处不在,照源码看list是一个PyObject*的动态数组。
而且"The growth pattern is: 0, 4, 8, 16, 25, 35, 46, 58, 72, 88, ..." 好小气。很多语言都是原长度的1点几到2倍的增长。
除了数组那些功能,list还有pop、push、sort、reverse等方法。
tuple和list的区别就是创建好就不能改大小,需要的时候效率高点,其他没什么区别。
dict名字比较明显了,哈希表。类似的,每个Python对象都有__hash__(),__eq()__和__cmp__可以自己写。
collections这个模块里面到2.5暂时有两个东东:defaultdict,作用就是当要找的key不在的时候返回一个用户定义的缺省值。
deque,链表实现的双端队列。
heapq其实不是一个类,而是一组在list上做堆算法的函数,本来很多堆就是在数组上实现的。
array是专门高效存储"uniformly typed numeric values"的,比如int、char、double的。
sets不用说了,里面还有个frozenset也是不能改的。
weakref这个模块里面有WeakKeyDictionary、WeakValueDictionary。
相关文章推荐
- 集合类型 (python)
- 初学Python的学习笔记2----dist字典,set集合,声明函数,函数参数
- python中set集合详解
- Python元祖,列表,字典,集合的比较
- 00106 python函数:set()集合
- python中的集合
- python组合数据类型--集合
- python 的集合 set()操作
- Python字典和集合
- Python(19)python中的集合
- 【Python之旅】第二篇(七):集合
- Python---集合set
- python中的xlrd 和xlwt资料集合
- python基础知识之集合
- paip.数组以及集合的操作uapi java php python总结..
- Python->集合set
- python---set集合
- 【python coding 5:集合】python中集合的用法
- paip.提高效率---集合的存取括号方式 uapi java python php js 的实现比较
- python 集合 并集、交集 Series list set 转换的实例