Python 第三章:列表 List

1. 什么是列表

列表是一种容器,可以存放多个数据 ,数据可以是数字、字符串,也可以混合类型。 列表使用方括号 [] ,里面每个元素用逗号 ,隔开。

复制代码
# 保存多个同学名字
name_list = ["张三", "李四", "王五"]

# 保存数字
num_list = [10, 20, 30, 40]

# 混合数据类型(不推荐日常这么写,了解即可)
mix_list = ["小明", 18, 175.5]

print(name_list)
print(num_list)

2. 列表下标(索引)

列表中每个元素都有编号,叫索引(下标)从 0 开始计数

  • 第 1 个元素:索引 0
  • 第 2 个元素:索引 1
  • 倒数第 1 个:索引 -1
  • 倒数第 2 个:索引 -2

语法:列表[索引]

复制代码
fruit = ["苹果", "香蕉", "橙子", "葡萄"]

print(fruit[0])   # 苹果
print(fruit[1])   # 香蕉
print(fruit[-1])  # 葡萄,取最后一个元素
print(fruit[-2])  # 橙子

⚠️索引不能超出列表范围,否则程序报错 IndexError

3. 列表常用操作(增删改查)

3.1 查询

  1. 获取列表长度 len(列表)``

    fruit = ["苹果", "香蕉", "橙子"]
    print(len(fruit)) # 3

2.判断元素是否在列表 in

复制代码
fruit = ["苹果", "香蕉", "橙子"]
print("香蕉" in fruit)   # True
print("西瓜" in fruit)   # False

3.2 增加元素

  • .append(数据):在列表末尾追加一个元素(最常用)

    fruit = ["苹果", "香蕉"]
    fruit.append("西瓜")
    print(fruit) # ['苹果', '香蕉', '西瓜']

.insert(索引,数据):在指定位置插入元素

复制代码
fruit = ["苹果", "香蕉"]
fruit.insert(1,"芒果")
print(fruit) # ['苹果', '芒果', '香蕉']

3.3 修改元素

直接通过索引赋值

复制代码
fruit = ["苹果", "香蕉", "橙子"]
fruit[1] = "榴莲"
print(fruit) # ['苹果', '榴莲', '橙子']

3.4 删除元素

  1. del 列表[索引] 根据索引删除

    fruit = ["苹果", "香蕉", "橙子"]
    del fruit[0]
    print(fruit) # ['香蕉', '橙子']

2.pop() 删除末尾元素,也可以指定索引删除,并且返回被删掉的数据

复制代码
fruit = ["苹果", "香蕉", "橙子"]
res = fruit.pop() # 删除最后一个橙子
print(res) #橙子
print(fruit) # ['苹果', '香蕉']

3.remove(值) 根据内容删除第一个匹配元素

复制代码
fruit = ["苹果", "香蕉", "苹果"]
fruit.remove("苹果")
print(fruit) # ['香蕉', '苹果'] 只删掉第一个苹果

4. 列表遍历(for 循环读取列表全部元素)

方式 1:直接遍历元素(推荐)

复制代码
names = ["张三","李四","王五"]
for n in names:
    print(n)

方式 2:遍历索引

复制代码
names = ["张三","李四","王五"]
for i in range(len(names)):
    print(i, names[i])

5. 列表切片(截取一部分)

语法:列表[起始索引:结束索引:步长]

特点:取到起始,取不到结束位置

复制代码
nums = [0,1,2,3,4,5,6]

print(nums[1:4])  # [1,2,3] 取索引1、2、3
print(nums[:3])   # [0,1,2] 从开头到索引3之前
print(nums[3:])   # [3,4,5,6] 索引3到末尾
print(nums[::2])  # [0,2,4,6] 步长2,隔一个取一个
print(nums[::-1]) # 列表反转 [6,5,4,3,2,1,0]
  1. 列表拼接 +

    a = [1,2,3]
    b = [4,5,6]
    c = a + b
    print(c) # [1, 2, 3, 4, 5, 6]

本章完整示例代码,复制到 PyCharm 运行

复制代码
# 第三章 列表List
# 定义列表
fruit_list = ["苹果","香蕉","橙子"]

# 读取索引
print(fruit_list[0])
print(fruit_list[-1])

# 追加元素
fruit_list.append("西瓜")
print("追加后:",fruit_list)

# 修改
fruit_list[1] = "火龙果"
print("修改后:",fruit_list)

# 删除
fruit_list.pop()
print("pop删除末尾:",fruit_list)

# for遍历列表
print("====遍历列表====")
for f in fruit_list:
    print(f)

#切片
num = [10,20,30,40,50]
print(num[1:3])
print(num[::-1])

课后练习

  1. 创建保存 5 个同学名字的列表
  2. 在列表末尾新增一个名字
  3. 修改第 0 号索引的名字
  4. 使用 for 循环打印列表全部内容
  5. 使用切片取出列表前 3 个元素

拓展小提示:列表是可变类型,可以修改里面内容;字符串不可变,不能通过索引修改某个字符。

💖 点赞 + 收藏 + 关注,零基础Python系统化学习持续更新!

相关推荐
笨鸟先飞,勤能补拙44 分钟前
从预测到决策:人工智能与机器学习的系统方法、工程闭环与现实边界
大数据·人工智能·windows·python·机器学习·密码学
Evand J1 小时前
【MATLAB例程,车联网7】CACC网联车辆协同控制:ACC对比、V2X时延丢包与队列稳定性,附例程下载链接
开发语言·matlab·车联网
MgArcher1 小时前
抖音a_bogus参数逆向实战:JSVMP环境模拟与Hook技术(2025最新)
javascript·爬虫·python
circuitsosk2 小时前
AI输出的“质检员”:构建智能体质量评估、异常检测与人工兜底的三层防线
人工智能·python·microsoft·正则表达式·langchain
要努力点2 小时前
Python入门第六课
开发语言·python
CTA终结者2 小时前
先用小策略练清条件和动作
人工智能·python
Bruce_Liuxiaowei2 小时前
从零到可运行:基于 Vue3 + FastAPI + DeepSeek-V3 的 AI 英语单词学习系统全栈实战
人工智能·python·学习·fastapi·全栈·智能体
萧瑟余晖2 小时前
Java深入解析篇三十三之消息队列
java·开发语言
ValhallaCoder2 小时前
Leetcode-hot100(2026.08.17)
python·算法·leetcode