Python 零基础入门——列表与元组
前言:
在前面的学习中,我们已经掌握了变量、流程控制和函数,能够处理单个数据(比如一个数字、一个字符串)。但实际开发中,我们经常需要处理一组数据(比如一串名字、一组成绩、一组用户信息),这时候就需要用到 Python 中的「容器」。
容器就像一个“收纳盒”,可以把多个数据放在一起,方便我们统一管理和操作。
Python 中最常用的四大容器就是:列表(list)、元组(tuple)、字典(dict)、集合(set)。
在 Python 里,列表和元组 都是用来 ‘装东西’ 的容器。
可以装:数字、字符串、布尔值、甚至列表 / 元组本身,一个容器里能装多种类型。
举个现实生活中的例子:
-
列表 List = 书包
想装啥装啥,想拿出来拿出来,想加就加,想删就删,可随意修改。
-
元组 Tuple = 密封好的快递盒
一旦封好,里面的东西不能改、不能删、不能加,只能看。
列表
列表是 Python 中最常用的容器,它就像一个可随意修改的“抽屉”,里面可以放任意类型的数据(数字、字符串、甚至其他容器),并且里面的元素是有序的,能重复存放。
创建列表
将元素放到 []中,元素之间用逗号隔开,空列表直接写 [] 即可
a = [111,222,333]
使用 list() 也可以创建列表(传递一个可迭代对象,构造列表;也可以构造空列表)
b = list("hello") # b -> ['h', 'e', 'l', 'l', 'o']
列表的核心操作
列表最常用的操作:访问、添加、修改、删除
访问元素
列表是有序的,每个元素都有一个 ‘位置编号’ ,叫做「索引」。
索引从 0 开始(比如第一个元素索引是 0,第二个是 1,以此类推)
test_list = [111, "hello", False, 3.14]
# 访问第一个元素(索引0)
print(test_list[0])
# 访问最后一个元素(索引-1/n-1)
print(test_list[-1])
# 访问第二个元素(索引1)
print(test_list[1])
这里索引是支持负数的,
-1表示右侧第1个元素,-2表示右侧第2个元素,依次类推
获取索引:列表中的 index方法可以获得指定元素对应的索引值
print(test_list.index(3.14))
注意:如果指定元素不存在,直接报错。
添加元素
列表中的 append()方法,往列表末尾添加元素
insert()方法 往指定位置添加元素
test_list = [666,"grown"]
test_list.append(3.14)
print(test_list)
test_list.insert(1,"hello")
print(test_list)
列表当中可以存储任意类型的元素,这里也可以在列表中插入一个 列表/元组等
修改元素
列表可以直接通过 '‘索引赋值’ 的方式,修改指定位置的元素。
test_list = [666,True,"grown",3.33]
test_list[1] = "hello"
test_list[2] = 9.99
print(test_list)
删除元素
列表当中常见删除元素的方法:del(按照索引删除)、remove()(安装元素值删除)、pop()(删除并返回末尾元素)
test_list = [111,"hello",3.14,"python"]
# 根据索引删除
del test_list[0]
print(test_list)
# 删除指定元素
test_list.remove(3.14)
print(test_list)
# 删除并返回末尾元素
print(f"pop : {test_list.pop()}")
print(test_list)
切片操作
切片 : 截取一段列表
格式:列表[起始:结束:步长]
nums = [0,1,2,3,4,5,6]
print(nums[1:4]) # [1,2,3]
print(nums[:3]) # [0,1,2]
print(nums[::2]) # [0,2,4,6] 步长为 2
其他常用操作
除了增、删、改、查之外,还有一个其他操作,例如:查看列表长度、查看元素是否在列表中等等
my_list = [1, 2, 3, 4, 5]
# 1. 查看列表长度(元素个数)
print(len(my_list)) # 输出:5
# 2. 查看元素是否在列表中
print(3 in my_list) # 输出:True(3在列表中)
print(6 in my_list) # 输出:False(6不在列表中)
# 3. 列表排序(仅对数字列表有效)
my_list.sort()
print(my_list) # 输出:[1, 2, 3, 4, 5]
# 4. 列表反转
my_list.reverse()
print(my_list) # 输出:[5, 4, 3, 2, 1]
| 方法 | 作用 |
|---|---|
len(list) | 获取列表长度 |
max(list) | 最大值 |
min(list) | 最小值 |
sum(list) | 求和 |
list.index(x) | 找元素 x 的下标 |
list.count(x) | 统计元素 x 出现次数 |
list.sort() | 从小到大排序 |
list.reverse() | 反转列表 |
元组
元组 相对于 列表,唯一的区别就是 : 元组不能修改
创建元组
- 用 圆括号
()包裹,元素之间用逗号隔开,可以创建空元组() - 使用
tuple()创建元组
a = (1,2,3,4,5)
b = ()
c = tuple()
d = tuple(a)
注意:当元祖中只有一个元素时,必须加
,
a1 = (10)
print(type(a1)) # <class 'int'>
a2 = (10,)
print(type(a2)) # <class 'tuple'>
常用操作
元组最重要的特点:不可修改(不可变)
一旦创建,不能增、删、改
尝试修改会直接报错:TypeError
元组的常用操作:查询、切片、遍历
t = (1,2,3,4,5)
print(t[1]) # 2
print(t[1:3]) # (2,3)
print(len(t)) # 5
除此之外,元组和列表一样,都可以存储任意类型的元素。
元组当中也可以存储列表,列表当中的值是可以修改的
t = (1, [2,3], 4)
t[1][0] = 999
print(t) # (1, [999, 3], 4)
元组存的是 ‘列表的地址’,地址没变,只是列表内容变了。
列表与元组
最常用的通用操作(列表元组都能用)
1. 遍历
# 列表
for item in [1,2,3]:
print(item)
# 元组
for item in (1,2,3):
print(item)
2. 判断元素是否存在
lst = [1,2,3]
print(2 in lst) # True
t = (1,2,3)
print(4 in t) # False
3. 拼接和重复
# 拼接
print([1,2] + [3,4]) # [1,2,3,4]
print((1,2) + (3,4)) # (1,2,3,4)
# 重复
print([1] * 3) # [1,1,1]
print((2,) * 3) # (2,2,2)
4. 类型互相转换
# 列表 -> 元组
t = tuple([1,2,3])
# 元组 -> 列表
lst = list((1,2,3))
列表和元组的区别
| 特性 | 列表 List | 元组 Tuple |
|---|---|---|
| 写法 | [] | () |
| 可修改 | 可以增删改 | 不可修改 |
| 性能 | 相对较慢 | 更快、占用空间小 |
| 安全性 | 数据可能被意外修改 | 安全,保护数据不被篡改 |
| 使用场景 | 需要频繁变动的数据 | 固定不变的配置、参数 |
函数返回多个值
Python 函数可以直接返回多个值,底层其实是返回了一个元组
def test():
return 10,20
print(type(test())) # <class 'tuple'>
示例 :返回多个计算结果
def calc(a, b):
add = a + b
sub = a - b
mul = a * b
return add, sub, mul
a, s, m = calc(10, 3)
print(a, s, m) # 13 7 30
- 元组不可变,安全稳定
- 适合用来打包一组固定数据
- 语法简洁,不用手动写括号
这也是 Python 里 元组最常见、最实用的场景之一
本篇文章到这里就结束了,感谢支持
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2oul0hvapjsws
更多推荐



所有评论(0)