Python惯用的数据结构

Python常用的数据结构

Python常用的数据结构

1  Tuple 元组应用很广泛

  • 任意对象的有序集合,这条没啥说的,数组的同性;
  • 通过偏移读取;
  • 一旦生成,不可改变;
  • 固定长度,支持嵌套

2    list()

  • 任意对象的有序集合;
  • 可通过偏移存取,注意,列表中的元素都是可变的,这是不同于元组的;
  • 长度可变,支持嵌套;
  • 还有一些类似java 的对象引用机制
  • 支持排序sort ,支持分片操作以及分片赋值这个
  • 添加append ,删除 del

一些有趣的特性:

去掉列表中每个元素头尾的空格:                                    

freshfruit = [' banana', ' loganberry ', 'passion fruit '] 

[ str .strip()  for   str   in  freshfruit] 

['banana', 'loganberry', 'passion fruit']  

把列表中,大于 3 的元素,乘以 2 :并且过滤列表小于 3 的数字

vec = [2, 4, 6] 

[2*x  for  x  in  vec  if  x > 3] 

[8, 12] 

获取 0-10 的平方

[x**2  for  x  in   range (10)] 

3 dict()

python 里的字典就像java 里的HashMap ,以键值对的方式存在并操作,其特点如下

  • 通过键来存取,而非偏移量;
  • 键值对是无序的;
  • 键和值可以是任意对象;
  • 长度可变,任意嵌套;
  • 在字典里,不能再有序列操作,虽然字典在某些方面与列表类似,但不要把列表套在字典上

基本操作 len ()、 keys ()、 values ()、 items ()

对于字典的扩充,只需定义一个新的键值对即可,而对于列表,就只能用 append 方法或分片赋值。

 

 

关于具体的用法有两个函数查看具体用法: dir (类的名字或函数名字), help (同上)