Python 列表

列表是 Python 中最常用的容器类型之一,用于存储有序的元素集合。列表的特点是元素类型可以不同,且可以动态调整大小。以下是关于列表的详细讲解和操作示例。


1. 列表的基本特点

  1. 可变性:可以随时添加、修改、删除元素。
  2. 支持任意数据类型:列表中的元素可以是数字、字符串、布尔值、对象、甚至其他列表。
  3. 有序性:列表中的元素按照插入顺序存储,并且可以通过索引访问。

定义一个列表

# 定义一个空列表
empty_list = []

# 定义一个包含多种数据类型的列表
mixed_list = [1, "hello", True, 3.14]
print(mixed_list)  # 输出: [1, 'hello', True, 3.14]

2. 列表的基本操作

访问元素

通过索引访问列表中的元素,索引从 0 开始。

fruits = ["apple", "banana", "cherry"]

# 访问第一个元素
print(fruits[0])  # 输出: apple

# 访问最后一个元素
print(fruits[-1])  # 输出: cherry

修改元素

通过索引直接修改元素。

fruits[1] = "blueberry"
print(fruits)  # 输出: ['apple', 'blueberry', 'cherry']

添加元素

  1. append():在列表末尾添加元素。
  2. insert():在指定位置插入元素。
numbers = [1, 2, 3]

# 添加到末尾
numbers.append(4)
print(numbers)  # 输出: [1, 2, 3, 4]

# 插入到指定位置
numbers.insert(1, 10)
print(numbers)  # 输出: [1, 10, 2, 3, 4]

删除元素

  1. del 语句:根据索引删除。
  2. remove():根据值删除。
  3. pop():删除并返回最后一个或指定位置的元素。
fruits = ["apple", "banana", "cherry", "date"]

# 删除指定索引
del fruits[1]
print(fruits)  # 输出: ['apple', 'cherry', 'date']

# 删除指定值
fruits.remove("cherry")
print(fruits)  # 输出: ['apple', 'date']

# 删除并返回
last_fruit = fruits.pop()
print(last_fruit)  # 输出: date
print(fruits)  # 输出: ['apple']

查找元素

  1. index():返回元素的索引(如果不存在会抛出错误)。
  2. in 操作符:检查元素是否存在。
numbers = [10, 20, 30, 40]

# 查找索引
print(numbers.index(20))  # 输出: 1

# 检查元素是否存在
print(30 in numbers)  # 输出: True
print(50 in numbers)  # 输出: False

3. 列表的高级操作

切片

切片用于提取列表的一部分,语法为 list[start:end:step]

letters = ["a", "b", "c", "d", "e"]

# 提取索引 1 到 3 的元素
print(letters[1:4])  # 输出: ['b', 'c', 'd']

# 每隔一个元素提取
print(letters[::2])  # 输出: ['a', 'c', 'e']

# 逆序
print(letters[::-1])  # 输出: ['e', 'd', 'c', 'b', 'a']

排序

  1. sort():原地排序,默认升序。
  2. sorted():返回排序后的新列表。
numbers = [5, 2, 9, 1]

# 原地排序
numbers.sort()
print(numbers)  # 输出: [1, 2, 5, 9]

# 逆序排序
numbers.sort(reverse=True)
print(numbers)  # 输出: [9, 5, 2, 1]

# 返回新列表
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # 输出: [1, 2, 5, 9]

列表推导式

列表推导式是快速生成列表的方式,常用于过滤和变换操作。

# 生成 1 到 10 的平方
squares = [x**2 for x in range(1, 11)]
print(squares)  # 输出: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

# 过滤奇数
odds = [x for x in range(10) if x % 2 == 1]
print(odds)  # 输出: [1, 3, 5, 7, 9]

4. 嵌套列表

列表可以包含其他列表,形成多维结构。

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

# 访问嵌套列表的元素
print(matrix[1][2])  # 输出: 6

5. 常用方法总结

方法

功能

append()

添加元素到末尾

insert()

插入元素到指定位置

remove()

删除指定值的元素

pop()

删除并返回指定索引的元素

index()

查找元素的索引

count()

统计元素出现的次数

sort()

原地排序

reverse()

反转列表

extend()

扩展列表


练习题

  1. 创建一个包含 1 到 10 的列表,然后:
    • 打印偶数。
    • 打印元素的平方。
    • 删除列表中大于 5 的元素。
  1. 创建一个嵌套列表,表示 3x3 的矩阵,计算对角线元素的和。
  2. 使用列表推导式生成 1 到 20 中能被 3 整除的数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nemoear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值