Linux Cloud

Author: lightazure

python的内置数据结构

列表、字典、元组、集合

列表

有序的可变的对象集合

注:在python中,一切都是对象

用中括号表示 x=[]或者x=list()

1、列表类似于其他语言中的数组

列表和数组的不同之处

  • 列表是异构的,数组大多是同构的(整型数组、字符串数组等)。
  • 列表长度不固定,数组的长度大多是固定的。

2、列表和元组、集合的区别

  • 元组可以看作常量列表
  • 列表是可变的、元组不可改变
  • 集合是无序的,不重复的,列表是有序的,可以重复。

3、常见的列表方法

元素的增删

  • append() 将一个对象添加至一个列表的结尾,无返回值
  • insert() 将一个对象添加至一个列表的指定索引,无返回值
  • extend() 将一个列表中的值添加至另一个列表,无返回值
  • pop() 根据索引删除,置空则删除列表的最后一个元素,返回值为删除的元素
  • remove() 根据值删除,无返回值

元素的查询统计与排序

  • count() 统计某个元素在列表中出现的次数,返回值为次数
  • index() 查看某个元素首次出现的索引值,返回值为索引值
  • reverse() 将一个列表的元素逆向排列,无返回值
  • sort() 对列表进行排序,无返回值 //sorted()方法也可以实现排序

注:列表的方法会改变列表的状态、但是切片操作不会

4、列表使用的注意事项

不要使用赋值操作符复制列表,应当使用copy()方法

5、什么时候应该使用列表

如果你想使用储存的数据有一种明确的结构,就要考虑使用列表以外的其他数据结构。

字典

字典属于键值对集合。可以联想到映射、散列和表

可以看做两列的表,第一列表示键,通常为字符串,第二列为值,可以为任意python对象。

用大括号表示 x={}或者x=dict()或者x={“name”:1}

python的字典实现为一个大小可变的散列表,它针对大量特殊情况进行了充分的优化。因此,字典可以非常快速的完成查找。

  • 字典是无序的,可以使用sorted()方法返回一个有序的字典副本
  • 可以使用setdefault()方法,设置键的默认值,防止key error异常

集合

集合由无序的不重复的python对象组成

集合的声明 x=set()或者x={1}

虽然,集合和字典都用大括号表示,区别在于有没有用冒号分隔的键值。空大括号表示字典。

集合的优势:

  • 集合可以很方便的对列表去重
  • 求交集、差集、并集等 //并集 union()、差集difference()、交集intersection()

集合同样可以用sorted进行排序

元组

和列表类似,不同之处在于元组一旦创建就不能改变,用小括号表示。

x=()或者x=tuple()或者x=(1,)

注:有且只有一个元素时必须包含一个逗号,否则视为其他对象

本文为《head first python》阅读笔记,如有错误,欢迎指正

© 2021 云溪笔记

Theme by Anders NorenUp ↑