Python3 列表

Python3 列表知识点大全 – 编程小白专属

Python3 列表知识点大全

专为编程小白设计 – 通俗易懂、深入浅出的列表知识汇总

什么是列表?

列表(List)是Python中最基本也最常用的数据结构,你可以把它想象成一个”容器”,里面可以存放各种各样不同类型的数据。

👉 列表是有序的(元素有固定位置)

👉 列表的元素可以重复

👉 列表可以随时添加或删除元素

创建一个列表

# 创建一个空列表
empty_list = []

# 创建带元素的列表
fruits = [“苹果”, “香蕉”, “橙子”, “芒果”]

# 列表可以包含不同类型的数据
mixed_list = [1, “文本”, True, 3.14, [5, 6, 7]]

💡 提示:列表用方括号[]表示,元素之间用逗号分隔。

访问列表元素

列表中的每个元素都有一个位置索引(就像排队时的位置号),索引从0开始(不是1!)

索引示例

animals = [“🐶”, “🐱”, “🐭”, “🦊”, “🐻”]

# 获取第一个元素
first = animals[0] # 结果是 🐶

# 获取最后一个元素
last = animals[-1] # 结果是 🐻(负数表示从后往前)

# 获取第三个元素
third = animals[2] # 结果是 🐭

切片操作

切片就像切面包,可以从列表中取出一部分

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 获取索引1到3的元素(不包括4)
part = numbers[1:4] # 结果是 [1, 2, 3]

# 获取前三个元素
first_three = numbers[:3] # [0, 1, 2]

# 获取最后三个元素
last_three = numbers[-3:] # [7, 8, 9]

# 每隔2个取一个元素
step = numbers[::2] # [0, 2, 4, 6, 8]

修改列表

列表是可变的(可以改变),不同于字符串和元组

修改元素

colors = [“红”, “绿”, “蓝”]

# 修改第二个元素
colors[1] = “黄”
# 现在列表变为 [“红”, “黄”, “蓝”]

添加元素

# 在末尾添加一个元素
colors.append(“紫”) # [“红”, “黄”, “蓝”, “紫”]

# 在特定位置插入元素
colors.insert(1, “橙”) # 索引1位置插入 [“红”, “橙”, “黄”, “蓝”, “紫”]

扩展列表

more_colors = [“粉”, “青”]
colors.extend(more_colors) # 列表变为 [“红”, “橙”, “黄”, “蓝”, “紫”, “粉”, “青”]

# 也可以使用 + 运算符
new_list = colors + [“黑”, “白”]

删除元素

从列表中移除元素有几种不同方法

根据位置删除

fruits = [“苹果”, “香蕉”, “橙子”, “芒果”]

# 删除指定位置的元素
del fruits[1] # 删除索引为1的元素(香蕉)

# 删除末尾元素并返回被删除的元素
removed_fruit = fruits.pop() # 删除”芒果”并返回它

# 删除指定位置元素并返回
removed = fruits.pop(0) # 删除第一个元素”苹果”

根据值删除

numbers = [1, 2, 3, 2, 4, 2]

# 删除第一个值为2的元素
numbers.remove(2) # 删除第一个2,列表变为[1, 3, 2, 4, 2]

⚠️ 注意:如果删除不存在的值会报错!可以先检查元素是否存在:

if “西瓜” in fruits:
    fruits.remove(“西瓜”)

列表常用操作

获取列表长度

fruits = [“苹果”, “香蕉”, “橙子”]
length = len(fruits) # 结果为3

检查元素是否存在

if “苹果” in fruits:
    print(“有苹果!”)

if “西瓜” not in fruits:
    print(“没有西瓜!”)

列表排序

nums = [3, 1, 4, 1, 5, 9, 2]

# 永久性排序(改变原列表)
nums.sort() # [1, 1, 2, 3, 4, 5, 9]

# 降序排序
nums.sort(reverse=True) # [9, 5, 4, 3, 2, 1, 1]

# 临时排序(不改变原列表)
sorted_nums = sorted(nums) # 返回新排序列表

反转列表

letters = [‘a’, ‘b’, ‘c’, ‘d’]
letters.reverse() # 列表变为 [‘d’, ‘c’, ‘b’, ‘a’]

列表复制

列表复制时需要注意,直接赋值只是创建了一个引用(别名)

错误做法

list1 = [1, 2, 3]
list2 = list1 # 这只是创建了一个引用

list2[0] = 99
print(list1) # [99, 2, 3] 原列表也被改变了!

正确复制方法

# 方法1:使用copy()方法
list2 = list1.copy()

# 方法2:使用切片
list3 = list1[:]

# 方法3:使用list()构造函数
list4 = list(list1)

list2[0] = 100
print(list1) # [1, 2, 3] 原列表不变

📌 重要:当列表包含子列表时,上面的方法都是浅拷贝,子列表仍是引用。需要使用copy模块的deepcopy()进行深拷贝。

遍历列表

通常使用for循环来遍历列表中的每个元素

基本遍历

fruits = [“苹果”, “香蕉”, “橙子”]

for fruit in fruits:
    print(f”我喜欢吃{fruit}”)

同时获取索引和值

for index, fruit in enumerate(fruits):
    print(f”索引 {index} 处的水果是 {fruit}”)

列表推导式

列表推导式是Python的精华,可以快速生成列表

# 创建一个包含1-10平方的列表
squares = [x**2 for x in range(1, 11)]
# [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

# 带条件的列表推导式
even_squares = [x**2 for x in range(1, 11) if x % 2 == 0]
# [4, 16, 36, 64, 100]

# 转换元素类型
nums = [1, 2, 3, 4]
str_nums = [str(num) for num in nums] # [‘1′,’2′,’3′,’4’]

列表常用方法总结

方法 描述 示例
append() 末尾添加元素 list.append(x)
extend() 扩展列表 list.extend([x,y,z])
insert() 插入元素 list.insert(位置, 元素)
remove() 删除指定元素 list.remove(x)
pop() 删除并返回元素 list.pop(位置)
clear() 清空列表 list.clear()
index() 查找元素位置 list.index(x)
count() 统计元素出现次数 list.count(x)
sort() 排序 list.sort()
reverse() 反转列表 list.reverse()
copy() 复制列表 new_list = list.copy()

💡 提示:使用 dir(list) 可以查看列表的所有可用方法!

🎉 恭喜!你现在已经掌握了Python列表的核心知识点

编程路上最重要的是动手实践,打开Python尝试这些例子吧!

Python小白 → Python高手 🚀

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部