目录
一、列表
1.定义
2.遍历列表
3.重复列表
4.常用操作
4.1.计数
4.2.索引
4.3.添加
4.4.删除
4.5.排序
4.6.逆序
5.成员运算符in
二、元组
1.定义
2.常用操作
2.1.索引
2.2.计数
三、列表与元组的区别
总结
列表(list)是Python中最常用的可变序列类型,用方括号[]
表示,元素之间用逗号分隔。
# 创建列表
empty_list = [] # 空列表
numbers = [1, 2, 3, 4, 5]
fruits = ['apple', 'banana', 'orange']
mixed = [1, 'hello', 3.14, True]
可以使用for循环遍历列表中的每个元素:
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
print(fruit)
使用*
运算符可以重复列表:
numbers = [1, 2]
repeated = numbers * 3 # [1, 2, 1, 2, 1, 2]
列表的操作相较于字符串稍微少一些,详细的方法了解见如下的介绍。
使用len()
获取列表长度,count()
统计元素出现次数:
numbers = [1, 2, 3, 2, 1]
print(len(numbers)) # 5
print(numbers.count(2)) # 2
通过索引访问和修改元素(从0开始):
fruits = ['apple', 'banana', 'orange']
print(fruits[1]) # 'banana'
fruits[1] = 'pear' # 修改元素
index()方法可以通过元素寻找到索引。
list = [1, 1, 3, 5]
print(list.count(1))# 计数
if 7 in list:
print(list.index(3))# 返回索引
方法 | 介绍 |
append() | 在末尾添加一个元素 |
extend() | 添加多个元素 |
insert() | 在指定位置插入元素 |
numbers = [1, 2, 3]
numbers.append(4) # [1, 2, 3, 4]
numbers.extend([5, 6]) # [1, 2, 3, 4, 5, 6]
numbers.insert(0, 0) # [0, 1, 2, 3, 4, 5, 6]
方法 | 介绍 |
remove() | 删除第一个匹配的元素 |
pop() | 删除并返回指定位置的元素(默认最后一个) |
clear() | 清空列表 |
del | 删除指定位置的元素或整个列表 |
numbers = [1, 2, 3, 2, 1]
numbers.remove(2) # [1, 3, 2, 1]
popped = numbers.pop(1) # 3, numbers变为[1, 2, 1]
del numbers[0] # [2, 1]
numbers.clear()
print(numbers)
方法 | 介绍 |
sort() | 原地排序,默认升序(reverse=True 降序) |
sorted() | 返回新排序列表 |
numbers = [3, 1, 4, 2]
numbers.sort() # [1, 2, 3, 4]
sorted_numbers = sorted(numbers, reverse=True) # [4, 3, 2, 1]
方法 | 介绍 |
reverse() | 原地逆序 |
reversed() | 返回逆序迭代器 |
numbers = [1, 2, 3]
numbers.reverse() # [3, 2, 1]
rev = list(reversed(numbers)) # [1, 2, 3]
成员运算符经常使用在index()方法出现时,防止因为元素不存在,导致输出报错。
fruits = ['apple', 'banana', 'orange']
print('apple' in fruits) # True
print('pear' not in fruits) # True
if "a" in fruits:
print(fruits.index("a"))
元组(tuple)是不可变序列类型,用圆括号()
表示,元素之间用逗号分隔。例如:(a,)代码如下(示例):
# 元组(tuple),定义:()
t1 = ()
print(t1, type(t1))
t2 = (2)
print(t2,type(t2))#输出:2
特殊情况:如果元组中只有一个内容,则逗号不能省略。如下所示:
# 如果元组中只有一个内容,则逗号不能省略。
t3 = (1,)
print(t3, type(t3))#(1,)
元组与列表一样,也可以重复和遍历,用法基本一样,这里不再详细赘述。
通过index()方法,可以统计存在于元组中的元素的索引。
tu = (1, 2, 3, 4, 5, 6, 7, 8)
a = tu.index(3)
print(a) # 返回的索引值为2
count()可以统计元组中的某一元素出现的次数。
tu = ("li", "liu", "huang","li")
c = tu.count("li")
print(c) # 输出2
特点 | 列表 | 元组 |
方法 | 方法多 | 方法少 |
效率 | 较低 | 较高 |
可变性 | 可变 | 不可变 |
适用 | 需要修改的数据 | 比较固定的数据 |
列表是可变的,元组是不可变的
列表适合存储需要频繁修改的数据集合
元组适合存储不应修改的数据集合,且性能更好
两者都支持索引、切片、遍历等操作
列表提供了更多修改数据的方法(添加、删除、排序等)
根据实际需求选择使用列表还是元组,需要修改数据时用列表,不需要修改且希望保证数据安全时用元组。