Python 3 列表(List)详解
                           
天天向上
发布: 2025-03-14 22:19:09

原创
259 人浏览过

在 Python 3 中,列表(List)是一种有序、可变(Mutable)的数据结构,用于存储多个元素。列表可以包含不同类型的元素,如数字、字符串、甚至是另一个列表。


1. 列表的定义

Python 使用方括号 [] 定义列表,列表中的元素使用逗号 , 分隔

📌 示例代码:

# 创建列表
list1 = [1, 2, 3, 4, 5]
list2 = ["apple", "banana", "cherry"]
list3 = [True, False, True]
list4 = [1, "Python", 3.14, [10, 20, 30]]  # 可包含不同类型

print(list1)  # [1, 2, 3, 4, 5]
print(list2)  # ['apple', 'banana', 'cherry']
print(list4)  # [1, 'Python', 3.14, [10, 20, 30]]

2. 访问列表元素

(1)索引访问

列表的索引从 0 开始,支持正向索引负向索引

📌 示例代码:

list1 = ["Python", "Java", "C++", "JavaScript"]
print(list1[0])   # Python
print(list1[2])   # C++
print(list1[-1])  # JavaScript(负索引)
print(list1[-3])  # Java

(2)切片(Slicing)

可以使用 列表[start:end:step] 进行切片:

  • start:起始索引(包含)
  • end:结束索引(不包含)
  • step:步长(默认为 1

📌 示例代码:

list1 = ["a", "b", "c", "d", "e", "f", "g"]

print(list1[1:4])     # ['b', 'c', 'd']
print(list1[:3])      # ['a', 'b', 'c'] (默认从 0 开始)
print(list1[4:])      # ['e', 'f', 'g'] (默认到末尾)
print(list1[::2])     # ['a', 'c', 'e', 'g'] (步长为 2)
print(list1[::-1])    # 反转列表 ['g', 'f', 'e', 'd', 'c', 'b', 'a']

3. 修改列表

列表是可变对象,可以修改其中的元素。

📌 示例代码:

list1 = [10, 20, 30, 40]
list1[1] = 99  # 修改索引 1 的值
print(list1)   # [10, 99, 30, 40]

4. 添加元素

Python 提供了多种方式向列表添加元素。

(1)append() — 追加元素

在列表末尾添加一个元素。

📌 示例代码:

list1 = [1, 2, 3]
list1.append(4)
print(list1)  # [1, 2, 3, 4]

(2)insert() — 指定位置插入元素

insert(index, element)

📌 示例代码:

list1 = [1, 2, 4]
list1.insert(2, 3)  # 在索引 2 位置插入 3
print(list1)  # [1, 2, 3, 4]

(3)extend() — 追加多个元素

📌 示例代码:

list1 = [1, 2, 3]
list1.extend([4, 5, 6])
print(list1)  # [1, 2, 3, 4, 5, 6]

5. 删除元素

Python 提供了多种方式删除列表中的元素。

(1)remove() — 按值删除

📌 示例代码:

list1 = [10, 20, 30, 40]
list1.remove(20)  # 删除值为 20 的元素
print(list1)  # [10, 30, 40]

(2)pop() — 按索引删除

📌 示例代码:

list1 = [10, 20, 30, 40]
list1.pop(2)  # 删除索引 2 的元素
print(list1)  # [10, 20, 40]

# 若不指定索引,默认删除最后一个元素
list1.pop()
print(list1)  # [10, 20]

(3)del — 直接删除

📌 示例代码:

list1 = [10, 20, 30, 40]
del list1[1]  # 删除索引 1 的元素
print(list1)  # [10, 30, 40]

del list1[:]  # 清空整个列表
print(list1)  # []

6. 常用列表方法

方法说明示例
append(x)追加元素 xlist.append(5)
insert(i, x)在索引 i 处插入 xlist.insert(2, "hello")
extend(iterable)扩展列表list.extend([7, 8, 9])
remove(x)删除值 xlist.remove(2)
pop(i)删除索引 i 处的元素list.pop(1)
index(x)返回 x 的索引list.index(3)
count(x)统计 x 出现的次数list.count(3)
sort()排序(默认升序)list.sort()
reverse()反转列表list.reverse()
copy()复制列表new_list = list.copy()

📌 示例代码:

list1 = [3, 1, 4, 1, 5, 9]
print(list1.count(1))  # 统计 1 出现的次数 -> 2
list1.sort()           # 升序排序
print(list1)           # [1, 1, 3, 4, 5, 9]
list1.reverse()        # 反转列表
print(list1)           # [9, 5, 4, 3, 1, 1]

7. 列表推导式(List Comprehension)

Python 提供了一种简洁的方法来生成列表——列表推导式

📌 示例代码:

# 生成 0~9 的平方
squares = [x**2 for x in range(10)]
print(squares)  # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

# 生成偶数列表
evens = [x for x in range(10) if x % 2 == 0]
print(evens)  # [0, 2, 4, 6, 8]

总结

  • 列表可变,可以存储不同类型的元素
  • 支持索引和切片
  • 提供丰富的操作方法(增、删、改、查、排序、拷贝等)
  • 列表推导式提供高效方式生成列表

更多详细内容请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *