Python基本数据结构

  数据结构是以某种方式组合起来的数据元素集合。

  Python最基本的数据结构包括序列映射。Python最常用的序列有:元组列表字符串字典是Python中唯一内置的映射类型。

序列

通用操作

适合所有序列的通用操作有:

  • 索引:从0开始,-1表示最后一位。eg: str1[0]、”Hello”[2]
  • 切片:提取序列的一部分,左闭右开区间,可调整步长。eg: str2[3:6]、str2[:10:2]
  • 相加:拼接
  • 相乘:重复
  • 成员资格检查:运算符in,满足返回True,不满足返回False

列表

  列表是可变的,即可以修改其内容。此外,列表还有很多特有的方法。

列表的基本操作

  除通用操作外,列表还支持:

  • 修改列表:给元素赋值
  • 删除元素:del语句
  • 给切片赋值

列表的基本方法

  • append:将一个对象附加到列表末尾
  • clear:就地清空列表
  • copy:复制列表
  • count:计算指定元素在列表中出现的次数
  • extend:同时将多个值附加到列表末尾(将修改被扩展的序列)
  • index:查找指定值第一次出现的索引
  • insert:将一个对象插入列表
  • pop:从列表中删除最后一个元素并返回这个元素(唯一既修改列表又返回一个非None值的列表方法),Python没有push方法
  • remove:删除一个指定值的元素
  • reverse:反序排列
  • sort:就地排序。可选参数:key和reverse

元组

  元组是不可修改的。元组用圆括号括起,用逗号分隔。只包含一个值的元组也必须在它后面加上逗号。eg:(42,)

字符串

  字符串是不可变的,所有赋值都是非法操作。所有标准序列操作都适用于字符串。此外,字符串还有非常多的方法,比如:

  • center:在两边填充字符(默认为空格)让字符串居中
  • find:查找子串,找到返回子串第一个字符的索引,否则返回-1。可指定起点和终点
  • join:用于合并序列的元素
  • lower:返回字符串小写版本
  • replace:将指定子串都替换为另一个字符串 ,并返回替换后的结果
  • split:将字符串拆分为序列
  • strip:将字符串首尾的空白删除,并返回删除后的结果
  • translate:与replace类似,只能进行单字符替换

映射

  可以通过名称来访问其各个值的数据结构。

字典

  字典是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下。键可能是数、字符串或元组。字典由及其相应的组成,这种键-值对称为。键值之间用冒号分隔,项之间用逗号分隔,整个字典放在花括号内。键必须是独一无二的。

字典的基本操作

  字典的基本行为在很多方面都类似于序列。字典和列表又多个相同之处,但是也有一些重要的不同之处:

  • 键的类型:字典中的键可以是任何不可变的类型,如实数、字符串或元组。
  • 自动添加:即便是字典中原本没有的键也可以给它赋值,这将在字典中创建一个新项。然而,如果不使用append或其他类似的方法,就不能给字典中没有的元素赋值。
  • 成员资格:操作符in在字典中查找的是键不是值,而在列表中查找的是值不是索引。

字典的基本方法

  • clear:删除所有的字典项
  • copy:返回一个新字典,包含的键-值对与原来的字典相同(浅复制)
  • fromkeys:创建一个新字典,其中包含指定的键,且每个键对应的值都是None
  • get:为访问字典项提供了宽松的环境
  • items:返回一个包含所有字典项的列表,其中每个元素都为(key, value)的形式
  • keys:返回一个字典视图,其中包含指定字典中的键
  • pop:可用于获取与指定键相关联的值,并将该键-值对从字典中删除
  • popitem:随机地弹出一个字典项
  • setdefault:与get类似,除此外,setdefault在字典不包含指定的键时,在字典中添加指定的键-值对
  • update:使用一个字典中的项来更新另一个字典
  • values:返回一个由字典中的值组成的字典视图
打赏点猫粮钱吧~