Python 中的列表、字典和元组
与列表、字典和元组相关的知识点整理,基本功一定要扎实!
Python中基本数据类型都是类,且可以在 buildins 模块中找到。
Python 大法的前提
- 严格区分大小写
- 一条语句可以多行编写,后边以 \ 结尾
- 严格缩进
列表
创建和存储
使用 [ ] ,元素之间用逗号隔开,可以保存任意对象。
按顺序存储,索引从 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 中出现的次数。
元素的修改和删除
- 直接通过索引来修改元素【可变对象】
- 切片:通过切片来修改一部分元素,创建的是一个新对象。给切片赋值必须是序列,未设置步长直接插入,数量必须匹配。
- 使用 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)
字典
元组
基本定义
常规操作
- 使用加号 + 连接,可以将两个元组合并。
namedtuple(具名元组)
使用该函数可以创建可读性更强的元组,创建返回的是一个元组子类。
普通元组只能通过index来访问元组中的数据,使用具名元组既可以使用index来访问,也可以使用具名元组中每个字段的名称来访问。
具名元组在存储csv或者sqlite3返回数据的时候特别有用。而且元组元素不可更改,真的十分有用。
参考链接:https://www.jianshu.com/p/60e6484a7088
注意事项
元组中的元素值不能修改、删除、添加,但可以被单独读取显示。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本