Python 中的列表、字典和元组

与列表、字典和元组相关的知识点整理,基本功一定要扎实!

Python中基本数据类型都是类,且可以在 buildins 模块中找到。

Python 大法的前提

  1. 严格区分大小写
  2. 一条语句可以多行编写,后边以 \ 结尾
  3. 严格缩进

列表

创建和存储

使用 [ ] ,元素之间用逗号隔开,可以保存任意对象。
按顺序存储,索引从 0 开始。索引可以是负数,表示从后往前数。

切片

从现有列表中获取指定的字列表:a[2:10:3],其中2代表开始位置,10代表结束位置,3代表所取步长。
省略的情况下代表开头和结尾是1,如果步长为负数则为从前往后数。
-1代表倒数第一个。

基本操作

+,*,in,not in,len(),max(),min()
s.index('a', 3, 7)
# 在列表s中寻找元素a,3 和 7 代表起始和终止位置,注意:寻找过程包括开始不包括结束。
# 获取的是指定元素第一次出现在列表中的索引,如果找不到指定的元素会抛出异常。
s.count('a')
# 统计元素 a 在 s 中出现的次数。

元素的修改和删除

  1. 直接通过索引来修改元素【可变对象】
  2. 切片:通过切片来修改一部分元素,创建的是一个新对象。给切片赋值必须是序列,未设置步长直接插入,数量必须匹配。
  3. 使用 del 删除元素,也可以切片删除
del stus[0:2]
# 双冒号是开始 结束 步长 三个中省略一个的结果

注:上述操作只适用于可变序列,可以通过 list() 函数将其他的序列列表转换为 list。

方法

方法与函数基本类似,区别在于方法调用时必须有对象。

reverse()

用来实现列表翻转(前后顺序颠倒)

sort()

用来对列表中的元素进行排序,默认为升序。降序需要传递参数 reverse=True。

append()

在列表后边追加元素

insert(1, '唐僧')

向列表的指定位置插入一个元素,其余元素顺移。

extend()

使用新的序列来扩充当前序列,需要序列作为参数,添加到当前列表。

clear()

清空序列

pop()

根据索引删除并返回被删除的元素,默认删除最后一个元素。
参考链接:https://blog.csdn.net/m0_52825771/article/details/110360237

remove()

删除指定元素,如果相同的元素有多个,只会删除第一个。

sample()

采样

遍历

a = [1, 2, 3, 4, 5, 6]
for i in a:
  print(i)

i = 0
while i < len(a):
  print(a[i])
  i += 1

注:列表在Pycharm中是不可以直接全部显示的,如果你想直接全看看,那建议转化成numpy里边的ndarray。

range

用来生成一个自然数序列
参数:起点(默认为 0 )、终点、步长(默认为 1 )
主要功能是创建一个指定次数的 for 循环

for i in range(30):
  print(a)
for s in 'hello':
  print(s)

字典

元组

基本定义

常规操作

  1. 使用加号 + 连接,可以将两个元组合并。

namedtuple(具名元组)

使用该函数可以创建可读性更强的元组,创建返回的是一个元组子类。
普通元组只能通过index来访问元组中的数据,使用具名元组既可以使用index来访问,也可以使用具名元组中每个字段的名称来访问。
具名元组在存储csv或者sqlite3返回数据的时候特别有用。而且元组元素不可更改,真的十分有用。
参考链接:https://www.jianshu.com/p/60e6484a7088

注意事项

元组中的元素值不能修改、删除、添加,但可以被单独读取显示。

posted @ 2022-10-31 10:16  芋圆院长  阅读(40)  评论(0编辑  收藏  举报