一、什么是序列序列Sequence 有序、可按索引访问的数据类型。Python 中常见的序列类型可变语法字符串 str❌hello列表 list✅[1, 2, 3]元组 tuple❌(1, 2, 3)序列通用操作str、list、tuple 都支持s Python lst [1, 2, 3, 4, 5] # 索引 print(s[0], lst[0]) # P 1 # 切片 print(s[0:3], lst[1:4]) # Pyt [2, 3, 4] # 拼接 print([1, 2] [3, 4]) # [1, 2, 3, 4] # 重复 * print([0] * 5) # [0, 0, 0, 0, 0] # 成员检测 in print(2 in lst) # True # 长度 len print(len(lst)) # 5 # 最大最小 print(max(lst), min(lst))二、列表 List 详解2.1 列表的特点可变创建后可以修改、添加、删除元素有序每个元素有固定位置索引元素类型可以不同[1, hello, 3.14, True]2.2 创建列表lst1 [1, 2, 3] lst2 list(abc) # [a, b, c] lst3 list(range(5)) # [0, 1, 2, 3, 4] lst4 [] # 空列表 lst5 [1, hello, 3.14] # 混合类型 nested [[1, 2], [3, 4]] # 嵌套列表2.3 访问元素fruits [apple, banana, cherry, date] print(fruits[0]) # apple第一个 print(fruits[-1]) # date最后一个 print(fruits[1:3]) # [banana, cherry]切片2.4 修改元素fruits [apple, banana, cherry] # 按索引修改 fruits[0] apricot # 切片赋值可改变长度 fruits[1:2] [blueberry, blackberry] print(fruits) # [apricot, blueberry, blackberry, cherry]2.5 添加元素fruits [apple, banana] fruits.append(cherry) # 末尾添加单个 fruits.insert(1, blueberry) # 指定位置插入 fruits.extend([date, elderberry]) # 末尾批量添加 print(fruits)方法作用append(x)末尾添加一个元素即使 x 是列表也作为整体添加insert(i, x)在索引 i 处插入 xextend(iterable)末尾逐个添加 iterable 中的元素a [1, 2] a.append([3, 4]) # [1, 2, [3, 4]] b [1, 2] b.extend([3, 4]) # [1, 2, 3, 4]2.6 删除元素fruits [apple, banana, cherry, banana] fruits.remove(banana) # 删除第一个匹配的值 del fruits[0] # 按索引删除 popped fruits.pop() # 弹出末尾元素 popped fruits.pop(0) # 弹出指定位置 fruits.clear() # 清空列表2.7 查找与统计nums [3, 1, 4, 1, 5, 9, 2, 6] print(nums.index(4)) # 2第一次出现的索引 print(nums.count(1)) # 2出现次数 print(5 in nums) # True2.8 排序与反转nums [3, 1, 4, 1, 5] nums.sort() # 原地升序nums 本身被改变 nums.sort(reverseTrue) # 原地降序 original [3, 1, 4] sorted_list sorted(original) # 返回新列表original 不变 nums.reverse() # 原地反转sort() vs sorted()sort()sorted()调用方式列表方法lst.sort()内置函数sorted(lst)是否改变原列表✅ 改变❌ 返回新列表2.9 遍历列表fruits [apple, banana, cherry] # 方式1直接遍历 for fruit in fruits: print(fruit) # 方式2带索引 for i, fruit in enumerate(fruits): print(i, fruit) # 0 apple # 1 banana # 2 cherry2.10 列表推导式重点简洁地创建列表# 基本形式 squares [x ** 2 for x in range(10)] # 带条件 evens [x for x in range(20) if x % 2 0] # 多重循环 matrix [[i * j for j in range(1, 4)] for i in range(1, 4)] # 从现有列表转换 words [hello, world, python] upper_words [w.upper() for w in words] lengths [len(w) for w in words]2.11 zip() 函数把多个序列拉链合并names [张三, 李四, 王五] scores [85, 92, 78] for name, score in zip(names, scores): print(f{name}: {score}) pairs list(zip(names, scores)) # [(张三, 85), (李四, 92), (王五, 78)]三、列表 vs 字符串特性strlist可变性不可变可变元素类型只能是字符任意类型拼接重复**四、重点易错点append vs extendappend 添加整个对象extend 逐个添加remove 找不到会 ValueError切片赋值可改变列表长度列表是引用类型b a两个变量指向同一列表a [1, 2, 3] b a b.append(4) print(a) # [1, 2, 3, 4] a 也变了五、练习题基础题1.创建 120 的列表用切片取出所有偶数。2.列表[3, 1, 4, 1, 5, 9, 2, 6]去重并升序排列。3.用列表推导式生成 1100 中能被 3 整除的数。4.有两个列表names[张三,李四]和scores[85,92]用 zip 合并输出。5.实现列表扁平化[[1,2],[3,4],[5]]→[1,2,3,4,5]。进阶题6.找出列表第二大元素不允许 sort 整个列表。7.旋转列表将[1,2,3,4,5]左旋转 2 位得[3,4,5,1,2]。参考答案点击展开参考答案# 1. nums list(range(1, 21)) evens nums[1::2] # 或 [x for x in nums if x % 2 0] # 2. lst [3, 1, 4, 1, 5, 9, 2, 6] result sorted(set(lst)) # 3. div3 [x for x in range(1, 101) if x % 3 0] # 4. for name, score in zip(names, scores): print(f{name}: {score}) # 5. nested [[1, 2], [3, 4], [5]] flat [item for sub in nested for item in (sub if isinstance(sub, list) else [sub])] # 6. def second_max(lst): m1 m2 float(-inf) for x in lst: if x m1: m2, m1 m1, x elif x m2: m2 x return m2 # 7. lst [1, 2, 3, 4, 5] k 2 rotated lst[k:] lst[:k]
企业数字化 ERP 产品动态
相关推荐
仿网易云年度听歌报告:纯前端源码包,Swiper翻页与数字滚动动画实战 简介:这是一套可直接运行的网页版年度音乐报告前端模板,面向具备基础HTML/CSS/JS能力的前端学习者与开发者,用于复刻网易云音乐年度听歌报告的交互逻辑与视觉风格,解决从零搭建数据可视化报告页面的问题,也可用于个人年… · 2026/9/25 13:24:34
WebDev性能优化实战:从Code Arena 1632分看现代前端工程化 1. 项目概述:这不是一次普通的技术排名,而是一次Web开发能力的硬核验证“Grok 4.7(xHigh)以1632分登Code Arena WebDev榜第10名”——这句话在技术社区刷屏时,我正调试一个React组件的hydration错误。第一反应不是点开… · 2026/9/25 13:24:34
DeskcommCRM实战:如何构建销售团队愿意用的客户管理系统 DeskcommCRM:从零搭建一套销售团队真正愿意用的客户管理系统拿到 DeskcommCRM 这个项目代号的时候,我第一反应是:这又是一套"领导想管人、销售嫌麻烦"的客户关系管理系统。客户团队提需求时七嘴八舌,总结下来就一句话&a… · 2026/9/25 13:24:28
Win10共享文件提示“要网络凭证”的完整排查与解决指南 共享文件提示“要网络凭证”,这个报错我前前后后遇到过不下二十次。帮同事配过、帮客户调过、自己也踩过坑,win10这版的网络凭证逻辑说复杂也复杂,说简单也就是几个开关不到位的问题。这篇我把自己实际排查和解决的完整过程写出来,… · 2026/9/25 13:55:09
AI 驱动开发实战:10分钟用 Cursor 从零构建「微信群相册」小程序并接入 TaoToken /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 13:55:09
Meta-Harness 端到端优化模型工具链:用 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/9/25 13:55:09
耳机听歌只剩伴奏没人声?从声道配置到音效开关全排查 这个问题我每个月都能碰到一两次,而且每次来问的人几乎都是同一个反应:“耳机好好的,音量也正常,怎么一首歌放出来就只剩下伴奏,人声像被谁悄悄按了静音?”先怀疑自己下的歌是不是坏档,换了几首… · 2026/9/25 13:55:03
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37