【30天玩转python】列表与元组

列表与元组

在 Python 中,列表和元组都是常用的序列数据类型。它们可以存储多个值,但有一些关键区别,例如列表是可变的,而元组是不可变的。本节将详细介绍列表与元组的用法及其不同之处。


1. 列表

1.1 列表的定义

列表(list)是 Python 中的一种可变序列,可以存储任意类型的数据,列表中的元素可以随时修改。列表使用方括号 [] 表示。

my_list = [1, 2, 3, 4, 5]
print(my_list)

输出结果:

[1, 2, 3, 4, 5]
1.2 列表常用操作
  1. 访问列表元素
    可以通过索引访问列表中的元素。索引从 0 开始,也可以使用负数索引表示从后往前的元素。

    my_list = ['apple', 'banana', 'cherry']
    print(my_list[0])  # 输出:apple
    print(my_list[-1])  # 输出:cherry
    
  2. 修改列表元素
    列表是可变的,因此可以通过索引修改列表中的元素。

    my_list = [1, 2, 3]
    my_list[1] = 20
    print(my_list)  # 输出:[1, 20, 3]
    
  3. 添加元素

    • 使用 append() 在列表末尾添加元素。
    • 使用 insert() 在指定位置插入元素。
    my_list = [1, 2, 3]
    my_list.append(4)  # 添加元素 4
    print(my_list)  # 输出:[1, 2, 3, 4]
    
    my_list.insert(1, 100)  # 在索引 1 处插入 100
    print(my_list)  # 输出:[1, 100, 2, 3, 4]
    
  4. 删除元素

    • 使用 remove() 删除指定的元素。
    • 使用 pop() 删除指定索引处的元素,若不指定索引,默认删除最后一个元素。
    my_list = [1, 2, 3, 4, 5]
    my_list.remove(3)  # 删除元素 3
    print(my_list)  # 输出:[1, 2, 4, 5]
    
    my_list.pop(1)  # 删除索引 1 处的元素
    print(my_list)  # 输出:[1, 4, 5]
    
    my_list.pop()  # 删除最后一个元素
    print(my_list)  # 输出:[1, 4]
    
  5. 列表切片
    可以通过切片操作获取列表的一个子列表,语法为 list[start:stop:step]

    my_list = [1, 2, 3, 4, 5, 6]
    print(my_list[1:4])  # 输出:[2, 3, 4]
    print(my_list[::2])  # 输出:[1, 3, 5]
    
  6. 列表长度
    使用 len() 函数可以获取列表的长度。

    my_list = [1, 2, 3, 4, 5]
    print(len(my_list))  # 输出:5
    
1.3 列表的其他常用方法
  • sort():对列表进行排序(默认从小到大)。

    my_list = [5, 2, 9, 1]
    my_list.sort()
    print(my_list)  # 输出:[1, 2, 5, 9]
    
  • reverse():将列表中的元素反转。

    my_list = [1, 2, 3]
    my_list.reverse()
    print(my_list)  # 输出:[3, 2, 1]
    
  • extend():将另一个列表中的元素添加到当前列表中。

    my_list = [1, 2, 3]
    my_list.extend([4, 5])
    print(my_list)  # 输出:[1, 2, 3, 4, 5]
    

2. 元组

2.1 元组的定义

元组(tuple)是一个不可变的序列,创建后其中的元素不能被修改。元组使用圆括号 () 表示。

my_tuple = (1, 2, 3)
print(my_tuple)

输出结果:

(1, 2, 3)
2.2 元组的特点
  • 不可变:一旦创建,元组中的元素就不能被修改。
  • 可以包含不同类型的元素:元组可以存储任意类型的数据。
my_tuple = (1, "apple", 3.14)
print(my_tuple)  # 输出:(1, 'apple', 3.14)
2.3 元组常用操作
  1. 访问元组元素
    与列表类似,元组中的元素可以通过索引来访问。

    my_tuple = ('apple', 'banana', 'cherry')
    print(my_tuple[1])  # 输出:banana
    
  2. 元组切片
    元组支持切片操作,可以获取元组的子元组。

    my_tuple = (1, 2, 3, 4, 5)
    print(my_tuple[1:4])  # 输出:(2, 3, 4)
    
  3. 元组解包
    可以将元组中的值解包赋值给多个变量。

    my_tuple = (1, 2, 3)
    a, b, c = my_tuple
    print(a, b, c)  # 输出:1 2 3
    
  4. 不可变性
    元组是不可变的,因此不能修改其元素或对其使用添加、删除操作。

    my_tuple = (1, 2, 3)
    # my_tuple[0] = 10  # 报错:'tuple' object does not support item assignment
    
2.4 常用元组方法
  • count():返回元组中某个元素出现的次数。

    my_tuple = (1, 2, 3, 2)
    print(my_tuple.count(2))  # 输出:2
    
  • index():返回某个元素在元组中的索引位置。

    my_tuple = (1, 2, 3)
    print(my_tuple.index(2))  # 输出:1
    

3. 列表与元组的区别

特性列表 (list)元组 (tuple)
可变性可变不可变
语法使用方括号 []使用圆括号 ()
性能较慢(由于可变,内存开销较大)较快(由于不可变,内存开销小)
用途需要频繁修改的集合用于不可修改的数据集合

4. 小结

列表和元组是 Python 中常用的序列类型。列表可变且功能丰富,适用于需要修改数据的场景;而元组不可变,适合用来存储不需要修改的数据。根据不同的需求,选择合适的数据类型可以提高代码的效率和可读性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱技术的小伙子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值