Python笔记(二)--列表
这一节了解一下Python中的列表列表是一种有序、可变、可重复的数据容器用来把多个数据放在一个变量里管理。可以把它理解成一排“编号格子”每个格子存一个数据编号从0开始。简单总结如下:API:1 列表下标访问lst[index]:通过整数下标获取列表单个元素下标从 0 开始支持嵌套列表多重下标。item lst[下标] spam [cat,bat,rat]; spam[0] → cat; spam[0][1] 读取嵌套列表内部元素。2 负数下标 lst[-n]:负下标从列表末尾倒数取元素,-1代表最后一个元素-2倒数第二个。item lst[-负数字] spam [cat,bat,rat]; spam[-1] → rat3 列表切片 lst[start:end]:截取子列表包含 start 下标不包含 end 下标start 省略从头end 省略到末尾lst[:]复制整个列表。sub_list lst[起始下标:结束下标] spam[1:3] → [bat,rat]; spam[:2] → [cat,bat]4 len(lst)内置函数:返回列表内元素总个数同样适用于元组、字符串。num len(列表) len([cat,dog]) → 25 下标修改元素 lst[index] value:利用下标直接修改列表指定位置的值列表是可变类型原地修改。lst[下标] 新值 spam[1] aardvark 将下标 1 位置替换为新内容。6 列表连接运算符 :把两个列表拼接返回全新列表原列表不变。new_list listA listB [1,2] [A,B] → [1,2,A,B]7 列表复制运算符 *:列表乘整数将列表重复多遍生成新列表。new_list lst * 整数 [X,Y] *3 → [X,Y,X,Y,X,Y]8 del lst[index] 删除语句:删除列表指定下标元素后面元素自动向前移位也可以删除变量。原地修改列表。del lst[下标] spam [cat,bat,rat]; del spam[2]9 值 in lst成员运算符:判断某个值是否存在列表内返回布尔 True/False。bool_res 元素 in 列表 cat in [cat,dog] → True10 值 not in lst成员运算符:判断某个值不在列表返回布尔。bool_res 元素 not in 列表 bird not in [cat,dog] → True11 多重序列解包赋值 var1,var2 lst:一行代码将列表元素依次赋值给多个变量变量数量必须等于列表长度。变量1,变量2,变量3 列表 cat [fat,black,loud]; size,color,disp cat12 增强赋值 lst other_list:原地拼接列表等价于 lst lst other_list。lst 另一个列表 a [1,2]; a [3,4] → [1,2,3,4]13 增强赋值 lst * n:原地重复列表 n 次修改原列表。lst * 整数 b [Zophie]; b *3 → [Zophie,Zophie,Zophie]14 lst.index(value)列表方法:查找值在列表中第一次出现的下标找不到抛出ValueError。idx lst.index(目标值) spam [a,b,c]; spam.index(b) →115 lst.append(value)列表方法:在列表末尾追加单个元素原地修改返回 None。lst.append(待添加元素) spam [cat,dog]; spam.append(moose)16 lst.insert(index, value)列表方法:在指定下标位置插入新元素原下标及之后元素向后挪位原地修改。lst.insert(插入位置下标,插入的值) spam.insert(1,chicken)17 lst.remove(value)列表方法:删除列表中第一个匹配该值的元素值不存在抛 ValueError原地修改。lst.remove(要删除的元素值) spam [cat,bat]; spam.remove(bat)18 lst.sort()列表排序方法:原地对列表进行升序排序ASCII 字符顺序返回 None。lst.sort() num [3,1,-2]; num.sort() → [-2,1,3]19 lst.sort(reverseTrue) 逆序排序:sort 的 reverse 参数为 True实现降序逆序原地排序。lst.sort(reverseTrue) spam.sort(reverseTrue)20 lst.sort(keystr.lower)忽略大小写排序:key 参数指定转换函数排序时按小写比较不改变原始列表内容。lst.sort(keystr.lower) [a,Z,A,z].sort(keystr.lower)21 tuple(序列)类型转换函数:接收列表/字符串返回对应的元组不可变序列。t tuple(可迭代对象) tuple([1,2,3]) → (1,2,3)22 list(序列)类型转换函数:接收元组/字符串返回对应的可变列表。lst list(可迭代对象) list((cat,dog)) → [cat,dog]; list(hello) → [h,e,l,l,o]23 元组下标访问 t[index]:元组和列表一样支持下标读取元组不可变不能赋值修改元素item t[下标] eggs(hello,42); eggs[0] → hello24 元组切片 t[start:end]:元组支持切片操作返回新元组。sub_tuple t[start:end] eggs[1:3] → (42,0.5)25 copy.copy(obj) 浅拷贝copy 模块):复制列表创建独立新列表仅复制顶层元素嵌套列表内部依旧共享引用。import copy; new_lst copy.copy(原列表) cheese copy.copy(spam)26 copy.deepcopy(obj)深拷贝copy 模块:完整拷贝包括内部嵌套的子列表全部生成独立副本互不干扰。import copy; new_lst copy.deepcopy(原列表) new_grid copy.deepcopy(grid)27 range(len(lst))配合 for 循环遍历下标:拿到全部下标数字同时访问下标和列表元素。for i in range(len(lst)): 使用lst[i] supplies [pen,book]; for i in range(len(supplies))28 for item in lst 直接遍历元素:for 循环直接迭代列表每个元素不需要下标。for item in lst: 操作item for name in catNames: print(name)29 空列表 []:代表空列表对象用于初始化存放后续添加元素。lst [] catNames []栗子:pet_names [] while True: name input(请输入宠物名字直接回车结束录入) if name : break pet_names.append(name) print(\n 当前所有宠物 ) for idx in range(len(pet_names)): print(f下标{idx}: {pet_names[idx]}) query input(\n输入名字查询是否是我的宠物) if query in pet_names: print(f{query} 是我的宠物) else: print(f{query} 不是我的宠物) del_name input(\n输入想要删除的宠物名字) if del_name in pet_names: pet_names.remove(del_name) print(f已经删除 {del_name}) print(更新后列表, pet_names) else: print(列表中没有该宠物)import copy score_list [Bob, alice, Carol, david, 90, 77] ref_list score_list copy_list copy.copy(score_list) ref_list[0] Tom print(原始列表被引用修改, score_list) print(浅拷贝副本不受影响, copy_list) str_part [Bob, alice, Carol, david] str_part.sort(keystr.lower) print(忽略大小写排序结果, str_part) score_tuple tuple(str_part) print(转为元组, score_tuple) back_list list(score_tuple) a,b,c,d back_list print(f解包a{a},b{b},c{c},d{d}) nested [[1,2], [3,4]] deep_copy_nest copy.deepcopy(nested) deep_copy_nest[0][0] 999 print(原嵌套列表, nested) print(深拷贝修改副本, deep_copy_nest)

相关新闻

HTTP/2帧层解析:用hyperframe库轻松拆解二进制帧与多路复用

HTTP/2帧层解析:用hyperframe库轻松拆解二进制帧与多路复用

排查公司网关到CDN的那条慢连接时,我盯着Wireshark里成千上万个九字节的HTTP/2二进制帧发呆。平时没人愿意直接面对帧层,但一旦问题出在线路并发、帧交错或者流控窗口上,你就必须下到这个层次。Python 社区为此准备了一个叫 hyperframe 的库&…

2026/10/7 8:42:26 阅读更多 →
SpringBoot+Vue校园图书借阅系统:动态路由与定时任务实战

SpringBoot+Vue校园图书借阅系统:动态路由与定时任务实战

简介:本资源为基于SpringBoot与Vue的校园图书借阅与管理系统完整项目源码,面向计算机专业学生、Java全栈开发者及需要课程设计或毕业设计参考的技术人员,帮助解决图书借阅流程数字化、权限管理与数据统计等实际问题。压缩包共1087个文件&…

2026/10/7 8:42:26 阅读更多 →
Magic Context Monorepo贡献指南:目录地图、Golden测试与提交第一个PR的完整步骤

Magic Context Monorepo贡献指南:目录地图、Golden测试与提交第一个PR的完整步骤

Magic Context Monorepo贡献指南:目录地图、Golden测试与提交第一个PR的完整步骤 【免费下载链接】magic-context Unbounded context. Memory that manages itself. One session, for life. The hippocampus for coding agents, part of CortexKit. 项目地址: htt…

2026/10/7 8:42:26 阅读更多 →

最新新闻

Sphinx toctree 通配符实战:用 `:glob:` 与 `:reversed:` 自动生成目录树

Sphinx toctree 通配符实战:用 `:glob:` 与 `:reversed:` 自动生成目录树

文档开发工具 【免费下载链接】sphinx The Sphinx documentation generator 项目地址: https://gitcode.com/gh_mirrors/sp/sphinx 点击查看 免费下载 导读 本文以 Sphinx 文档生成器(本仓库即 Sphinx 官方源码库)中 toctree 指令的 :glob:…

2026/10/7 9:22:16 阅读更多 →
为新的数据库编写 Quartz.NET Driver Delegate:方言驱动委托完整指南

为新的数据库编写 Quartz.NET Driver Delegate:方言驱动委托完整指南

任务调度后端 【免费下载链接】quartznet Quartz Enterprise Scheduler .NET 项目地址: https://gitcode.com/gh_mirrors/qu/quartznet 点击查看 免费下载 本文以 Quartz.NET 官方 4.x 文档《A Driver Delegate for a New Database》为骨架,完整讲解如何…

2026/10/7 9:22:15 阅读更多 →
Czkawka 磁盘清理完整指南:14 项本地任务如何挑出重复文件与相似图片

Czkawka 磁盘清理完整指南:14 项本地任务如何挑出重复文件与相似图片

Czkawka 磁盘清理完整指南:14 项本地任务如何挑出重复文件与相似图片 【免费下载链接】czkawka Multi functional app to find duplicates, empty folders, similar images etc. 项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka 磁盘容量红线逼近…

2026/10/7 9:22:15 阅读更多 →
防抖装饰器(Debounce Decorator):在 JavaScript 中合并高频函数调用的实现与原理

防抖装饰器(Debounce Decorator):在 JavaScript 中合并高频函数调用的实现与原理

文档教程前端 【免费下载链接】zh.javascript.info 现代 JavaScript 教程(The Modern JavaScript Tutorial),以最新的 ECMAScript 规范为基准,通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识。…

2026/10/7 9:22:15 阅读更多 →
Superpowers:开发者认知增强工作流的原理与落地实践

Superpowers:开发者认知增强工作流的原理与落地实践

1. 项目概述:Superpowers 不是超能力,而是开发者工作流的“认知增强套件” 你最近在技术社区、GitHub Trending 或 Discord 开发者频道里,大概率已经反复刷到 superpowers 这个词——它不是漫威电影里的变种人设定,也不是某款新…

2026/10/7 9:22:15 阅读更多 →
补码符号位为何能参与运算?从模运算到负权重位讲透

补码符号位为何能参与运算?从模运算到负权重位讲透

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 9:21:14 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 7:15:40 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 5:29:09 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 6:26:51 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 8:21:32 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 4:21:51 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:18:13 阅读更多 →