Python三大数据结构

一、列表(list)

  • 使用[]定义列表
  • 字符串也是一个列表

1. 列表索引(index)

  • 从0开始正向访问
  • 从-1开始反向访问

2. 列表切片

  • 使用list[:]类似matlab
  • : 左右为空表示从头开始
  • 左大于右返回空列表
  • list[a:b]索引从a到b-1(记住:左闭右开)

3. 列表操作

  • min(list)max(list)len(list)
  • sum(list)只能用于数字类型
  • dtr.join(list)只能合并字符串
  • list.count(elm)对元素(elm)出现次数计数
  • list.index(elm)返回元素(elm)第一个索引
  • list.sort()元素排序小到大
  • list.sort(reverse = True)元素排序大到小
  • sorted(list)返回排序后列表
  • list.append(elm)列表末尾增加元素
  • list.remove(elm)列表删除指定元素
  • list.pop(id)按索引删除元素
  • list.extend(list2)在末尾合并列表
  • list.insert(id,elm)按索引插入元素

二、字典(dict)

  • 使用{}定义字典
  • 键(key)映射到值(value)的无序数据结构
  • 键(key)不可变

1. 查找字典

  • dict[key]访问键对应的值
  • dict.get(key,default)访问键值
  • 键不存在返回预设default(没有预设返回None

2. 更新字典

  • dict['nkey']=nval增加/更新键值
  • dict.update(ndict)增加/更新键值(通过新字典)
  • 删除键值
del dict[key]
  • val = dict.pop(key)删除键值,并返回值

3. 遍历字典

  • dict.keys()返回所有键
  • dict..values()返回所有值

三、元组(tuple)

  • 使用(,)定义元组
  • 元组不能更改(不可变)

1. 初始化

  • 空元组()Tuple()
  • 非空元组用逗号初始化1,2,3
  • 单值元组末尾要加逗号1,(1,)

2. 访问和切分元组

  • 索引使用方法和列表相同

3. 元组操作

  • tup1+tup2返回合并的元组
  • tup.index(elm)返回元素(elm)第一个索引
  • tup.count(elm)对元素(elm)出现次数计数

4. 元组拆包

x,y,z = 1,3,4
'x = {}, y = {}, z = {}'.format(x,y,z)