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系统化学习持续更新!

相关推荐
卷无止境43 分钟前
暗流与破局:AI时代的代码安全审查工具全景指南
后端·python
对象存储与RustFS3 小时前
网盘限速逼你开会员?用 RustFS 自己搭一个不限速的“私人网盘
服务器·后端·docker
卷无止境3 小时前
一人公司的全栈选型指南:让 AI Agent 写得快,也让生意跑得稳
后端·python
WJ.Polar5 小时前
Java封装、继承、多态
java·开发语言
..Dauntless..5 小时前
【Linux】一切皆文件和缓冲区
linux·运维·服务器
裕晟资质规划5 小时前
三类资质变更报告时限差在哪?军工 15 日、集成印制 10 日
大数据·服务器·网络
摇滚侠5 小时前
Java 中如何表示负数,有符号和无符号的区别,补码的计算规则,char byte short int long 的范围
java·开发语言
QMCY_jason5 小时前
x86 ubuntu2204 无gui 安装 openeuler 2203 aarch64版本
linux·运维·服务器
重生之小比特5 小时前
【Linux系统】12 进程程序替换 自定义Shell 命令行解释器
linux·运维·服务器
轻舟技术A5 小时前
Provider 不属于 Agent 核心:rpi 的分层理由与收益
服务器·网络