👋 大家好!这是我学习Python的第二天笔记,今天主要学习列表(List)的各种操作。列表是Python中最常用的数据结构之一,掌握好列表操作能让你的编程效率大大提升!

文中会有代码+输出对比,还有小贴士和常见陷阱提醒哦!

📑 目录

📋 1. 列表基础:索引与访问

1.1 创建列表

1.2 访问列表元素

➕ 2. 添加元素:让列表“长大”

2.1 append() - 末尾追加

2.2 insert() - 任意位置插入

2.3 创建空列表的动态添加

➖ 3. 删除元素:让列表“瘦身”

3.1 del语句 - 根据索引删除

3.2 pop() - 弹出元素(类似栈)

3.3 remove() - 根据值删除

🔄 4. 实战演练:名单管理小系统

📊 5. 列表排序与反转

5.1 sort() - 永久排序

5.2 sorted() - 临时排序

5.3 reverse() - 反转列表

📏 6. 获取列表长度:len()

📚 今日学习总结

💬 写在最后

📋 1. 列表基础:索引与访问
1.1 创建列表
python
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
输出:

text
['trek', 'cannondale', 'redline', 'specialized']
1.2 访问列表元素
python
bicycles = ['trek', 'cannondale', 'redline', 'specialized']

# 正索引访问(从0开始)
print(bicycles[0])    # 第一个元素
print(bicycles[1])    # 第二个元素

# 负索引访问(从-1开始,表示最后一个元素)
print(bicycles[-1])    # 最后一个元素
print(bicycles[-2])    # 倒数第二个元素
输出:

text
trek
cannondale
specialized
redline
💡 小贴士:负索引是Python的一大特色,-1永远表示最后一个元素,非常实用!

➕ 2. 添加元素:让列表“长大”
2.1 append() - 末尾追加
python
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print("原始列表:", bicycles)

bicycles.append('abc')
print("追加后:", bicycles)
输出:

text
原始列表: ['trek', 'cannondale', 'redline', 'specialized']
追加后: ['trek', 'cannondale', 'redline', 'specialized', 'abc']
2.2 insert() - 任意位置插入
python
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print("原始列表:", bicycles)

bicycles.insert(1, 'abc')  # 在索引1的位置插入'abc'
print("插入后:", bicycles)
输出:

text
原始列表: ['trek', 'cannondale', 'redline', 'specialized']
插入后: ['trek', 'abc', 'cannondale', 'redline', 'specialized']
2.3 创建空列表的动态添加
python
# 常见模式:先创建空列表,再动态添加元素
a = []
a.append('lala')
print(a)

# 可以多次追加
a.append('haha')
a.append('hehe')
print(a)
输出:

text
['lala']
['lala', 'haha', 'hehe']
⚡ 实用技巧:这种“先创建空列表,再动态添加”的模式在数据处理中非常常见,比如从文件读取数据时。

➖ 3. 删除元素:让列表“瘦身”
3.1 del语句 - 根据索引删除
python
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print("原始列表:", bicycles)

del bicycles[1]  # 删除索引为1的元素('cannondale')
print("删除后:", bicycles)
输出:

text
原始列表: ['trek', 'cannondale', 'redline', 'specialized']
删除后: ['trek', 'redline', 'specialized']
⚠️ 注意:del是按索引删除,不能直接del 'cannondale',这样会报错!

3.2 pop() - 弹出元素(类似栈)
弹出最后一个元素:

python
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print("原始列表:", bicycles)

popped_bicycle = bicycles.pop()  # 弹出最后一个元素
print("弹出的元素:", popped_bicycle)
print("剩余列表:", bicycles)
输出:

text
原始列表: ['trek', 'cannondale', 'redline', 'specialized']
弹出的元素: specialized
剩余列表: ['trek', 'cannondale', 'redline']
弹出任意位置元素:

python
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print("\n原始列表:", bicycles)

popped_bicycle = bicycles.pop(0)  # 弹出索引为0的元素
print("弹出的元素:", popped_bicycle)
print("剩余列表:", bicycles)
输出:

text
原始列表: ['trek', 'cannondale', 'redline', 'specialized']
弹出的元素: trek
剩余列表: ['cannondale', 'redline', 'specialized']
🔍 del vs pop() 的区别:

del:直接删除,不需要使用被删除的元素

pop():删除并返回被删除的元素,后续可能还会用到

3.3 remove() - 根据值删除
python
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print("原始列表:", bicycles)

bicycles.remove('trek')  # 删除值为'trek'的元素
print("删除后:", bicycles)
输出:

text
原始列表: ['trek', 'cannondale', 'redline', 'specialized']
删除后: ['cannondale', 'redline', 'specialized']
⚠️ 注意:

remove()只删除第一个匹配项,如果有多个相同值,需要用循环删除

如果要删除的元素不存在,会报错

🔄 4. 实战演练:名单管理小系统
让我们把学到的知识串起来,模拟一个简单的名单管理场景:

python
# 初始名单
liebiao = ['li', 'zhao', 'wang']
print("=== 初始名单 ===")
print(liebiao)

# 邀请吃饭
print("\n=== 发出邀请 ===")
print(f"{liebiao[0]},来吃饭")
print(f"{liebiao[1]},来吃饭")
print(f"{liebiao[2]},来吃饭")

# 有人来不了,换人
print("\n=== 更换人员 ===")
liebiao.remove('zhao')      # 赵来不了
liebiao.insert(1, 'sun')    # 孙加入
print("更新后的名单:", liebiao)

# 重新邀请
print("\n=== 重新邀请 ===")
print(f"{liebiao[0]},来吃饭")
print(f"{liebiao[1]},来吃饭")
print(f"{liebiao[2]},来吃饭")

# 有人临时有事来不了
print("\n=== 有人缺席 ===")
print(f"不好意思{liebiao.pop()}!")  # 弹出最后一个
print(f"不好意思{liebiao.pop()}!")  # 再弹出一个
print("剩余名单:", liebiao)

# 最后一个人也取消
del liebiao[0]
print("最终名单:", liebiao)
print("名单长度:", len(liebiao))
输出:

text
=== 初始名单 ===
['li', 'zhao', 'wang']

=== 发出邀请 ===
li,来吃饭
zhao,来吃饭
wang,来吃饭

=== 更换人员 ===
更新后的名单: ['li', 'sun', 'wang']

=== 重新邀请 ===
li,来吃饭
sun,来吃饭
wang,来吃饭

=== 有人缺席 ===
不好意思wang!
不好意思sun!
剩余名单: ['li']
最终名单: []
名单长度: 0
🎯 实战要点:这个例子展示了列表操作的组合使用,非常贴近实际开发场景!

📊 5. 列表排序与反转
5.1 sort() - 永久排序
python
liebiao = ['a', 'c', 'b']
print("原始列表:", liebiao)

liebiao.sort()  # 升序排序(永久改变)
print("sort()后:", liebiao)

liebiao.sort(reverse=True)  # 降序排序
print("降序排序:", liebiao)
输出:

text
原始列表: ['a', 'c', 'b']
sort()后: ['a', 'b', 'c']
降序排序: ['c', 'b', 'a']
5.2 sorted() - 临时排序
python
liebiao = ['a', 'c', 'b']
print("原始列表:", liebiao)

# sorted()返回排序后的新列表,原列表不变
sorted_liebiao = sorted(liebiao)
print("sorted()后原列表:", liebiao)
print("排序后的新列表:", sorted_liebiao)

# 也可以降序
print("降序排序:", sorted(liebiao, reverse=True))
输出:

text
原始列表: ['a', 'c', 'b']
sorted()后原列表: ['a', 'c', 'b']
排序后的新列表: ['a', 'b', 'c']
降序排序: ['c', 'b', 'a']
5.3 reverse() - 反转列表
python
liebiao = ['a', 'c', 'b']
print("原始列表:", liebiao)

liebiao.reverse()  # 反转列表顺序
print("反转后:", liebiao)
输出:

text
原始列表: ['a', 'c', 'b']
反转后: ['b', 'c', 'a']
🔍 sort(reverse=True) vs reverse():

sort(reverse=True):按字母/数字大小降序排列

reverse():单纯反转当前顺序,不涉及大小比较

📏 6. 获取列表长度:len()
python
liebiao = ['a', 'c', 'b']
length = len(liebiao)
print(f"列表:{liebiao}")
print(f"列表长度:{length}")

# 空列表长度
empty_list = []
print(f"空列表长度:{len(empty_list)}")
输出:

text
列表:['a', 'c', 'b']
列表长度:3
空列表长度:0
💡 小贴士:len()是Python的全局函数,不仅可用于列表,还可用于字符串、元组、字典等所有容器类型。

📚 今日学习总结
操作类型    方法/语法    说明    示例
访问    列表[索引]    通过索引访问元素    bicycles[0]
列表[-1]    访问最后一个元素    bicycles[-1]
添加    append(x)    末尾追加元素    bicycles.append('abc')
insert(i, x)    在索引i处插入元素    bicycles.insert(1, 'abc')
删除    del 列表[i]    删除索引i的元素    del bicycles[1]
pop()    弹出最后一个元素    popped = bicycles.pop()
pop(i)    弹出索引i的元素    popped = bicycles.pop(0)
remove(x)    删除第一个值为x的元素    bicycles.remove('trek')
排序    sort()    永久排序    liebiao.sort()
sort(reverse=True)    永久降序排序    liebiao.sort(reverse=True)
sorted(列表)    临时排序    new = sorted(liebiao)
其他    reverse()    反转列表    liebiao.reverse()
len(列表)    获取列表长度    length = len(liebiao)
💬 写在最后
今天我们学习了Python中最常用的数据结构——列表的各种操作:

✅ 如何访问列表元素(正索引、负索引)

✅ 如何添加元素(append、insert)

✅ 如何删除元素(del、pop、remove)

✅ 如何排序和反转(sort、sorted、reverse)

✅ 如何获取列表长度(len)

列表是Python编程的基石,掌握这些操作后,你已经可以处理很多实际问题了!

下一篇预告:Python学习第三天——循环、range()与切片技巧

📌 互动提示:如果你在学习过程中遇到问题,欢迎在评论区留言讨论!觉得有帮助的话点个👍支持一下~我们下期再见!👋


 

更多推荐