python中元组、列表常用的函数和索引方法

在 Python 中,元组列表 是两种常见的序列数据类型。它们的主要区别是:元组 是不可变的,而 列表 是可变的。下面详细介绍两者的常用方法、函数和索引操作。


一、列表(List)

1. 常用方法

1.1 append()

向列表末尾添加单个元素。

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

将另一个序列(如列表、元组)中的元素添加到列表中。

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

在指定索引位置插入元素。

my_list = [1, 2, 4]
my_list.insert(2, 3)  # 在索引 2 处插入 3
print(my_list)  # 输出: [1, 2, 3, 4]
1.4 remove()

删除指定值的第一个匹配项。

my_list = [1, 2, 3, 2]
my_list.remove(2)
print(my_list)  # 输出: [1, 3, 2]
1.5 pop()

删除指定索引的元素,默认删除最后一个元素。

my_list = [1, 2, 3, 4]
print(my_list.pop())   # 输出: 4
print(my_list)         # 输出: [1, 2, 3]
print(my_list.pop(1))  # 输出: 2(删除索引 1 的元素)
print(my_list)         # 输出: [1, 3]
1.6 index()

返回指定元素在列表中第一次出现的索引。

my_list = [1, 2, 3, 2]
print(my_list.index(2))  # 输出: 1
1.7 count()

返回指定元素在列表中出现的次数。

my_list = [1, 2, 3, 2, 2]
print(my_list.count(2))  # 输出: 3
1.8 sort()

对列表进行排序。

  • 默认升序。
  • 可通过 reverse=True 设置为降序。
my_list = [4, 2, 3, 1]
my_list.sort()
print(my_list)  # 输出: [1, 2, 3, 4]
my_list.sort(reverse=True)
print(my_list)  # 输出: [4, 3, 2, 1]
1.9 reverse()

反转列表中的元素顺序。

my_list = [1, 2, 3]
my_list.reverse()
print(my_list)  # 输出: [3, 2, 1]
1.10 copy()

返回列表的浅拷贝。

my_list = [1, 2, 3]
copy_list = my_list.copy()
print(copy_list)  # 输出: [1, 2, 3]
1.11 clear()

清空列表。

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

2. 列表的索引和切片

  • 正向索引:从 0 开始计数。
  • 反向索引:从 -1 开始计数。
  • 切片:通过 [start:stop:step] 获取子列表。
my_list = [10, 20, 30, 40, 50]

# 索引
print(my_list[0])   # 输出: 10
print(my_list[-1])  # 输出: 50

# 切片
print(my_list[1:4])    # 输出: [20, 30, 40](索引 1 到 3)
print(my_list[:3])     # 输出: [10, 20, 30](从开始到索引 2)
print(my_list[::2])    # 输出: [10, 30, 50](每隔一个元素)
print(my_list[::-1])   # 输出: [50, 40, 30, 20, 10](逆序输出)

二、元组(Tuple)

1. 常用方法

元组是不可变的,方法相对较少,主要有以下几个:

1.1 count()

返回指定元素在元组中出现的次数。

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

返回指定元素在元组中第一次出现的索引。

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

2. 元组的索引和切片

与列表类似,元组也支持正向索引、反向索引和切片操作。

my_tuple = (10, 20, 30, 40, 50)

# 索引
print(my_tuple[0])    # 输出: 10
print(my_tuple[-1])   # 输出: 50

# 切片
print(my_tuple[1:4])  # 输出: (20, 30, 40)
print(my_tuple[::2])  # 输出: (10, 30, 50)
print(my_tuple[::-1]) # 输出: (50, 40, 30, 20, 10)

三、列表与元组的转换

可以使用 list()tuple() 进行互相转换。

# 列表转换为元组
my_list = [1, 2, 3]
my_tuple = tuple(my_list)
print(my_tuple)  # 输出: (1, 2, 3)

# 元组转换为列表
my_tuple = (1, 2, 3)
my_list = list(my_tuple)
print(my_list)  # 输出: [1, 2, 3]

四、总结

操作列表(List)元组(Tuple)
可变性可变不可变
常用方法append(), extend(), insert()count(), index()
索引支持正向和反向索引支持正向和反向索引
切片支持支持
转换可通过 tuple() 转换为元组可通过 list() 转换为列表

列表 提供更多操作方法,适用于需要频繁修改数据的场景;而 元组 适合数据内容固定、只需读取的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值