1. 列表基础
-
定义列表:用方括号
[]
或list()
创建。 -
my_list = [1, 2, 3] empty_list = list()
2. 增加元素
方法/操作 | 语法 | 示例 | 结果 |
---|---|---|---|
追加元素 | list.append(element) |
my_list.append(4) |
[1, 2, 3, 4] |
合并列表 | list.extend(iterable) |
my_list.extend([5, 6]) |
[1, 2, 3, 4, 5, 6] |
插入元素 | list.insert(index, element) |
my_list.insert(1, 99) |
[1, 99, 2, 3] |
列表拼接 | + 操作符 |
new_list = my_list + [7, 8] |
[1, 2, 3, 7, 8] |
重复元素 | * 操作符 |
my_list * 2 |
[1, 2, 3, 1, 2, 3] |
3. 删除元素
方法/操作 | 语法 | 示例 | 结果 |
---|---|---|---|
按值删除 | list.remove(value) |
my_list.remove(2) |
[1, 3] (删除第一个匹配值) |
按索引删除 | list.pop([index]) |
my_list.pop(1) |
删除索引1的元素并返回它 |
清空列表 | list.clear() |
my_list.clear() |
[] |
删除语句 | del list[index] |
del my_list[0] |
删除索引0的元素 |
删除切片 | del list[start:end] |
del my_list[1:3] |
删除索引1到2的元素 |
4. 修改元素
操作 | 语法 | 示例 | 结果 |
---|---|---|---|
直接赋值 | list[index] = value |
my_list[1] = 99 |
[1, 99, 3] |
批量修改切片 | list[start:end] = iterable |
my_list[1:3] = [10, 20] |
[1, 10, 20] |
5. 查询元素
方法/操作 | 语法 | 示例 | 结果 |
---|---|---|---|
按索引访问 | list[index] |
my_list[1] |
返回索引1的元素 |
切片访问 | list[start:end:step] |
my_list[1:3] |
返回子列表 [2, 3] |
查找索引 | list.index(value) |
my_list.index(3) |
返回第一个3的索引(若不存在报错) |
统计次数 | list.count(value) |
[1, 2, 2, 3].count(2) |
返回2(出现次数) |
存在性检查 | value in list |
3 in my_list |
返回True 或False |
6. 其他常用操作
方法/操作 | 语法 | 示例 | 说明 |
---|---|---|---|
排序 | list.sort(reverse=False) |
my_list.sort() |
原地升序排序 |
反转列表 | list.reverse() |
my_list.reverse() |
原地反转列表顺序 |
浅拷贝列表 | list.copy() |
new_list = my_list.copy() |
复制列表 |
获取长度 | len(list) |
len(my_list) |
返回元素数量 |
列表生成式 | [exp for x in iterable] |
[x*2 for x in my_list] |
生成新列表 |
7. 示例代码汇总
# 初始化列表 nums = [1, 2, 3] # 增加元素 nums.append(4) # [1, 2, 3, 4] nums.extend([5, 6]) # [1, 2, 3, 4, 5, 6] nums.insert(1, 99) # [1, 99, 2, 3, 4, 5, 6] # 删除元素 nums.remove(99) # [1, 2, 3, 4, 5, 6] popped = nums.pop(2) # popped=3 → 列表变为 [1, 2, 4, 5, 6] del nums[0] # [2, 4, 5, 6] # 修改元素 nums[1] = 100 # [2, 100, 5, 6] # 查询元素 print(nums[1]) # 输出 100 print(5 in nums) # 输出 True print(nums.index(5)) # 输出 2 # 排序与反转 nums.sort() # [2, 5, 6, 100] nums.reverse() # [100, 6, 5, 2] # 列表生成式 squares = [x**2 for x in nums] # [10000, 36, 25, 4]
注意事项
-
索引越界:访问不存在的索引会触发
IndexError
。 -
深浅拷贝:
copy()
是浅拷贝,嵌套列表需用copy.deepcopy()
。 -
性能:
append()
和pop()
的时间复杂度为 O(1),而insert(0, x)
和pop(0)
为 O(n)。
本站https://ygz.ink文章https://ygz.ink/archives/1937.html中提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。本站部分信息来自博主网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
邮箱:gouweicaosheji@163.com