🐍 知识库 Python L5 这篇笔记暂无摘要。 分类 Python 难度 基础 阅读 3 分钟 浏览 12 更新 2026-7-14 14:55:02 🌐 所有人可见 登录后记录进度 导出 MD 复制链接 打印 / PDF ## 一、列表的基本概念与创建 ### 1.1 列表的定义 列表是Python中用于存储多个数据的有序容器,可存储数字、字符串等不同类型的数据。列表中的每个数据称为**元素**,元素之间用逗号分隔,整体用中括号`[]`包裹。 ### 1.2 创建列表的语法 ```python 列表名 = [元素1, 元素2, 元素3, ...] ``` ### 1.3 示例 + 创建存储数字和字符串的列表: ```python numbers = [12, 34, 56] names = ['Alice', 'Bob', 'Charlie'] mixed = [100, 'Hello', 3.14] ``` ### 1.4 列表索引 + **索引的定义**:列表中每个元素的编号,从0开始递增。 + **索引的使用语法**:`列表名[索引值]` + **示例**: ```python fruits = ['apple', 'banana', 'cherry', 'date'] print(fruits[0]) # 输出: apple print(fruits[2]) # 输出: cherry ``` + **注意事项**: - 最大索引值为`元素个数-1`,超出范围会报错。 - 支持负索引,`-1`表示最后一个元素,`-2`表示倒数第二个元素,依此类推。 ### 1.5 len()命令 + **作用**:计算列表的长度(元素个数)。 + **语法**:`len(列表名)` + **示例**: ```python langs = ['Python', 'Java', 'C++'] length = len(langs) print(length) # 输出: 3 ``` ## 二、遍历列表的方法 ### 2.1 遍历的定义 逐个取出列表中所有元素的过程称为**遍历列表**,常用for循环实现。 ### 2.2 方法一:通过索引遍历 + **语法**: ```python for 索引变量 in range(len(列表名)): print(列表名[索引变量]) ``` + **示例**: ```python colors = ['red', 'green', 'blue', 'yellow'] for i in range(len(colors)): print(colors[i]) ``` ### 2.3 方法二:直接遍历元素 + **语法**: ```python for 元素变量 in 列表名: print(元素变量) ``` + **示例**: ```python numbers = [10, 20, 30, 40] for num in numbers: print(num) ``` ### 2.4 综合应用案例 **场景**:帮助乌拉乎清除障碍,若石头名字以'F'开头则发射两次激光,否则发射一次。 ```python land = ['FC', 'BB', 'LLL', 'CC', 'KKK'] for stone in land: if stone[0] == 'F': print('shoot' + stone + ' twice') else: print('shoot' + stone) ``` ## 三、列表元素的增删操作 ### 3.1 添加元素:append() + **作用**:在列表末尾添加一个元素。 + **语法**:`列表名.append(元素)` + **示例**: ```python animals = ['dog', 'cat'] animals.append('bird') print(animals) # 输出: ['dog', 'cat', 'bird'] ``` ### 3.2 添加元素:insert() + **作用**:在指定索引位置插入元素,后续元素后移。 + **语法**:`列表名.insert(索引, 元素)` + **示例**: ```python numbers = [1, 2, 4, 5] numbers.insert(2, 3) # 在索引2处插入3 print(numbers) # 输出: [1, 2, 3, 4, 5] ``` ### 3.3 删除元素:remove() + **作用**:删除列表中第一个匹配的元素,无返回值。 + **语法**:`列表名.remove(元素)` + **示例**: ```python fruits = ['apple', 'banana', 'apple', 'orange'] fruits.remove('apple') print(fruits) # 输出: ['banana', 'apple', 'orange'] ``` ### 3.4 删除元素:pop() + **作用**:删除指定索引位置的元素,并返回该元素;若不指定索引,默认删除最后一个元素。 + **语法**: - `列表名.pop(索引)` - `列表名.pop()` + **示例**: ```python names = ['Alice', 'Bob', 'Charlie', 'David'] removed = names.pop(1) # 删除索引1的元素 print(removed) # 输出: Bob print(names) # 输出: ['Alice', 'Charlie', 'David'] last = names.pop() # 删除最后一个元素 print(last) # 输出: David ``` ### 3.5 操作对比表 | 操作 | 语法 | 特点 | | --- | --- | --- | | 末尾添加 | `list.append(element)` | 直接添加到列表末尾,时间复杂度O(1) | | 指定位置添加 | `list.insert(index, element)` | 插入位置后的元素后移,时间复杂度O(n) | | 按值删除 | `list.remove(element)` | 删除第一个匹配元素,元素不存在时报错 | | 按索引删除 | `list.pop(index)` | 返回删除的元素,索引越界时报错 | ## 四、列表切片与字符串分割 ### 4.1 列表切片的定义 通过索引获取列表的一部分元素,生成新列表的操作称为**切片**。 ### 4.2 切片语法与示例 1. **从指定索引到末尾**:`列表名[起始索引:]` ```python nums = [1, 2, 3, 4, 5] print(nums[2:]) # 输出: [3, 4, 5] ``` 2. **从开头到指定索引(不包含)**:`列表名[:结束索引]` ```python print(nums[:3]) # 输出: [1, 2, 3] ``` 3. **指定起始和结束索引**:`列表名[起始索引:结束索引]` ```python print(nums[1:4]) # 输出: [2, 3, 4] ``` 4. **负数索引切片**: ```python print(nums[-3:]) # 输出: [3, 4, 5] print(nums[:-2]) # 输出: [1, 2, 3] ``` ### 4.3 split()命令:字符串转列表 + **作用**:按指定分隔符分割字符串,生成字符串列表。 + **语法**:`字符串.split('分隔符')` + **示例**: ```python text = "Hello World Python" words = text.split() # 按空格分割 print(words) # 输出: ['Hello', 'World', 'Python'] data = "12@34@56@78" numbers = data.split('@') print(numbers) # 输出: ['12', '34', '56', '78'] ``` + **注意**:若不指定分隔符,默认按任意空白符(空格、制表符、换行符等)分割。 ## 五、列表统计与计算 ### 5.1 count()命令:元素计数 + **作用**:统计列表中某个元素的出现次数。 + **语法**:`列表名.count(元素)` + **示例**: ```python colors = ['red', 'blue', 'red', 'green', 'red'] red_count = colors.count('red') print(red_count) # 输出: 3 ``` ### 5.2 sum()命令:求和 + **作用**:计算列表中所有数字元素的和,列表必须全为数字。 + **语法**:`sum(列表名)` + **示例**: ```python scores = [85, 90, 78, 92] total = sum(scores) print(total) # 输出: 345 # 错误示例(包含字符串) mixed = [10, 20, '30'] # sum(mixed) # 运行会报错 ``` ### 5.3 max()与min()命令:求最值 + **作用**: - `max(列表名)`:返回列表中的最大值 - `min(列表名)`:返回列表中的最小值 + **示例**: ```python numbers = [15, 8, 23, 5, 19] max_num = max(numbers) min_num = min(numbers) print(max_num) # 输出: 23 print(min_num) # 输出: 5 ``` ### 5.4 自定义求和与最值算法(拓展) + **求和算法**: ```python def list_sum(lst): total = 0 for num in lst: total += num return total print(list_sum([1, 2, 3, 4])) # 输出: 10 ``` + **最大值算法**: ```python def list_max(lst): if not lst: return None max_val = lst[0] for num in lst: if num > max_val: max_val = num return max_val print(list_max([5, 9, 2, 7])) # 输出: 9 ``` ## 六、综合应用案例 ### 6.1 游戏场景:机器人血量计算 **需求**:计算字符串中'a'的数量作为机器人血量。 ```python # 方法一:手动计数 blood_str = "A#a#W#m#a" blood = 0 for char in blood_str: if char == 'a': blood += 1 print(f"机器人血量:{blood},需发射{blood}发炮弹") # 方法二:使用count() blood = blood_str.count('a') print(f"机器人血量:{blood}") ``` ### 6.2 数据处理:裂缝修复数据流 **需求**:将字符串按'@'分割后求和。 ```python crack_data = "35@13@21@23@46" numbers = crack_data.split('@') total = 0 for num in numbers: total += int(num) print(f"修复所需数据流:{total}") # 输出: 138 ``` ### 6.3 能量值管理:最值计算 **需求**:获取5个加速球的最大能量值。 ```python ball_energies = [] for i in range(5): energy = int(input(f"输入第{i+1}个加速球能量值:")) ball_energies.append(energy) max_energy = max(ball_energies) print(f"最大能量值:{max_energy}") ``` ## 七、列表操作总结表 | 操作类型 | 关键函数/语法 | 示例 | | --- | --- | --- | | 创建列表 | `[元素1, 元素2]` | `fruits = ['apple', 'banana']` | | 获取元素 | `列表[索引]` | `print(fruits[0])` | | 列表长度 | `len(列表)` | `print(len(fruits))` | | 遍历列表 | `for item in 列表` | `for f in fruits: print(f)` | | 添加元素 | `append() / insert()` | `fruits.append('orange')` | | 删除元素 | `remove() / pop()` | `fruits.remove('apple')` | | 列表切片 | `列表[start:end]` | `print(fruits[1:3])` | | 元素计数 | `count(元素)` | `print(fruits.count('apple'))` | | 求和 | `sum(列表)` | `print(sum([1,2,3]))` | | 最值 | `max() / min()` | `print(max([5,3,8]))` | 学习交流公开阅读不需要登录登录后可以评论、收藏并同步学习进度。登录暂时还没有评论。
学习交流