轻松掌握Python列表:创建、索引与常用操作

什么是列表?

在Python中,列表(List)是一种有序且可变的数据容器,就像一个可以装各种东西的“篮子”。你可以往里面放数字、字符串、甚至其他列表,而且可以随时修改、添加或删除里面的元素。列表用中括号 [] 表示,元素之间用逗号 , 分隔。

一、创建列表

创建列表非常简单,直接用中括号 [] 包裹元素即可。元素可以是不同类型(数字、字符串、布尔值等),甚至是空列表。

示例1:基本列表

# 数字列表
numbers = [1, 2, 3, 4, 5]

# 字符串列表
fruits = ["apple", "banana", "cherry"]

# 混合类型列表(支持不同类型元素)
mixed = [10, "hello", True, 3.14]

# 空列表(初始时没有元素)
empty_list = []

二、索引:访问列表元素

列表中的元素是有序排列的,我们可以通过“索引”(类似门牌号)访问单个元素。Python的索引从 0 开始(不是1!),最后一个元素的索引是 -1(倒数第一个),-2 是倒数第二个,以此类推。

示例2:索引基础

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

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

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

# 访问倒数第二个元素(索引-2)
print(fruits[-2])  # 输出:cherry

注意:如果索引超出范围(比如列表只有4个元素,却访问 fruits[4]),会报错 IndexError

三、切片:获取列表的一部分

切片(Slice)用于从列表中获取连续的多个元素,语法是 列表[起始索引:结束索引:步长]
- 起始索引:包含该位置的元素(默认为0);
- 结束索引:不包含该位置的元素(默认为列表长度);
- 步长:每次移动的步数(默认为1,步长为负数时反向取元素)。

示例3:切片基础

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

# 从索引1到3(不包含3)的元素
print(numbers[1:4])  # 输出:[1, 2, 3]

# 从开头到索引5(不包含5),步长为2(隔一个取一个)
print(numbers[:5:2])  # 输出:[0, 2, 4]

# 反向切片(步长为-1)
print(numbers[::-1])  # 输出:[6, 5, 4, 3, 2, 1, 0]

# 复制整个列表(等同于创建新列表)
copied = numbers[:]
print(copied)  # 输出:[0, 1, 2, 3, 4, 5, 6]

四、列表的常用操作

列表的灵活之处在于可以对其进行增、删、改、查等操作,以下是最常用的方法:

1. 添加元素
  • append():在列表末尾添加一个元素;
  • insert():在列表指定位置插入一个元素。

示例4:添加元素

fruits = ["apple", "banana"]

# 在末尾添加元素
fruits.append("cherry")
print(fruits)  # 输出:["apple", "banana", "cherry"]

# 在索引1的位置插入元素
fruits.insert(1, "orange")
print(fruits)  # 输出:["apple", "orange", "banana", "cherry"]
2. 删除元素
  • remove():根据删除第一个匹配的元素(无匹配值会报错);
  • pop():根据索引删除元素(默认删除最后一个,返回被删除元素);
  • del:删除指定位置的元素或整个列表。

示例5:删除元素

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

# 根据值删除第一个"banana"
fruits.remove("banana")
print(fruits)  # 输出:["apple", "cherry", "banana"]

# 根据索引删除(删除索引0的元素)
removed = fruits.pop(0)
print(removed)  # 输出:apple
print(fruits)   # 输出:["cherry", "banana"]

# 删除整个列表(del会直接清空列表)
del fruits[0]
print(fruits)  # 输出:["banana"]
3. 修改元素

直接通过索引赋值修改指定位置的元素。

示例6:修改元素

numbers = [1, 2, 3]
numbers[1] = 100  # 修改索引1的元素为100
print(numbers)  # 输出:[1, 100, 3]
4. 列表长度与检查元素
  • len():获取列表元素的个数;
  • in:检查某个元素是否在列表中(返回布尔值)。

示例7:长度与检查

fruits = ["apple", "banana"]

# 列表长度
print(len(fruits))  # 输出:2

# 检查元素是否存在
print("apple" in fruits)  # 输出:True
print("orange" in fruits) # 输出:False
5. 列表拼接与重复
  • +:拼接两个列表(返回新列表,原列表不变);
  • *:重复列表n次(返回新列表);
  • extend():在列表末尾添加另一个列表的所有元素(修改原列表)。

示例8:拼接与重复

list1 = [1, 2]
list2 = [3, 4]

# 拼接列表
combined = list1 + list2
print(combined)  # 输出:[1, 2, 3, 4]

# 重复列表3次
repeated = list1 * 3
print(repeated)  # 输出:[1, 2, 1, 2, 1, 2]

# extend方法(修改原列表)
list1.extend(list2)
print(list1)  # 输出:[1, 2, 3, 4]
6. 排序与反转
  • sort():原地排序(直接修改原列表,升序);
  • sorted():返回排序后的新列表(原列表不变);
  • reverse():原地反转列表;
  • reversed():返回反转的迭代器(需转成列表)。

示例9:排序与反转

numbers = [3, 1, 4, 2]

# 升序排序(原地修改)
numbers.sort()
print(numbers)  # 输出:[1, 2, 3, 4]

# 降序排序(sorted加reverse=True)
sorted_desc = sorted(numbers, reverse=True)
print(sorted_desc)  # 输出:[4, 3, 2, 1]

# 反转列表
numbers.reverse()
print(numbers)  # 输出:[4, 3, 2, 1]

五、小总结

列表是Python中最基础也最实用的数据结构之一,掌握它的关键在于:
- 创建:用 []list() 初始化;
- 索引与切片:注意索引从0开始,切片语法 [start:end:step]
- 操作:增(append/insert)、删(remove/pop/del)、改(索引赋值)、查(len/in)等常用方法。

多动手练习,比如尝试用列表实现简单的待办事项管理、学生成绩统计等场景,就能更快熟练掌握啦!

Xiaoye