Python--数据容器

Python–数据容器

1.数据容器概念

  一种可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素,每一个元素都可以是任意类型的数据,如:字符串、数字、布尔等

2.列表list

   列表是数据容器中的一类,是一次性可以存储多个数据元素的,其特点是可以存储不同类型的元素,元素有序,可以重复,且元素可以修改

1
2
3
4
5
6
7
8
9
#列表
list1 = [1, 2, 3, 4, 5]
print(list1)
print(list1[0]) # 访问列表的第一个元素
print(list1[-5]) # 访问列表的倒数第五个元素
del list1[0] # 删除列表的第一个元素
print(list1)
print(list1[1:3]) # 访问列表的第二个到第四个元素(不包括第四个)
print("--------------------------------") #分割线

   列表的常见方法如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#列表的常见操作
s = ["A", "B", "C", "D", "E", "F", "G"]
print(s)
s.append("H") # 在列表的末尾添加一个元素
print(s)
s.insert(0, "Z") # 在列表的第一个位置插入一个元素
print(s)
s.remove("F") # 删除列表中的第一个"F"元素
print(s)
s.pop(2) # 删除列表的第三个元素,未填写则默认删除最后一个元素
print(s)
s.sort() # 对列表进行排序
print(s)
s.reverse() # 对列表进行反转
print(s)
print("--------------------------------") #分割线

3.字符串str

  字符串是字符的容器,一个字符串种可以存放任意数量的字符,其特点是不可变性(无法修改),有序性,可迭代性,字符串种的每一个字符元素都有其对应的下标索引,通过元素对应的索引,就可以获取到对应的元素

1
2
3
4
5
6
7
8
#字符串
s = "hello world"
print(s)
print(s[0]) # 访问字符串的第一个字符
print(s[-5]) # 访问字符串的倒数第五个字符
print(s[1:3]) # 访问字符串的第二个到第四个字符(不包括第四个)
print(s[1:3:2]) # 访问字符串的第二个到最后一个字符,步长为2
print("--------------------------------") #分割线

  字符串的常见方法如下:

1
2
3
4
5
6
7
8
9
10
11
#字符串的操作方法
s = "hello world"
print(s.find("world")) # 查找子字符串"world"在字符串中的位置,未找到则返回-1
print(s.count("l")) # 统计子字符串"l"在字符串中出现的次数
print(s.upper()) # 将字符串中的所有字符转换为大写
print(s.lower()) # 将字符串中的所有字符转换为小写
print(s.title()) # 将字符串中的每个单词的首字母转换为大写
print(s.strip()) # 移除字符串首尾的空格
print(s.replace("world", "python")) # 将字符串中的"world"替换为"python"
print(s.split()) # 将字符串根据空格分割为一个列表
print("--------------------------------") #分割线

4.元组tuple

  元组与列表的最大不同点在于元组一旦定义完成,不可修改

1
2
3
4
5
6
7
8
#元组
t = (1, 2, 3, 4, 5, 6, 7)
print(t)
print(t[0]) # 访问元组的第一个元素
print(t[-5]) # 访问元组的倒数第五个元素
print(t[1:3]) # 访问元组的第二个到第四个元素(不包括第四个)
print(t[1:3:2]) # 访问元组的第二个到最后一个元素,步长为2
print("--------------------------------") #分割线

  元组中还存在组包和解包的概念,组包是指将多个值合并到一个容器,解包是将容器解开城独立的元素,分别赋值给多个变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#组包
a = 1, 2, 3, 4, 5, 6, 7 # 元组的组包
print(a)
print(type(a)) # 查看变量a的类型

#基础解包和扩展解包
x, y, z, w, u, t, s = a # 将元组a的元素分别赋值给变量x到s
b, *c = a # 将元组a的第一个元素赋值给变量b,将元组a的剩余元素赋值给列表c
print(x)
print(y)
print(z)
print(b)
print(c)
print("--------------------------------") #分割线

  

5.集合set

  集合是一种无序,不可重复,可修改的数据容器

1
2
3
4
5
6
7
8
#集合
s = {0, 64, 78, 22, 5, 33, 98}
print(s)
print(type(s)) # 查看变量s的类型
#空集合
s = set() # 空集合的创建 {}为字典的创建,空集合的创建必须使用set()函数
print(s)
print(type(s)) # 查看变量s的类型

  需要注意的是空集合的定义不可疑使用{},{}表示的是空字典,由于集合是无序的,因此是不支持下标索引访问的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#集合的常用操作
s = {0, 64, 78, 22, 5, 33, 98}
print(s)
s.add(100) # 在集合中添加一个元素
print(s)
s.remove(64) # 删除集合中的一个元素
print(s)
s.pop() # 随机删除集合中的一个元素
print(s)
s.clear() # 清空集合
print(s)
s2 = {0, 64, 78, 22, 5, 33, 98}
s.difference_update(s2) # 从集合s中删除集合s2中的元素,返回的结果为集合s中剩余的元素,也就是求差集
print(s)
s.union(s2) # 求集合s和集合s2的并集
print(s)
s.intersection_update(s2) # 从集合s中删除集合s2中不存在的元素,返回的结果为集合s中剩余的元素,也就是求交集
print(s)

6.字典

  字典里面存储的是键值对(key :value)类型的数据,可以根据键(key)找到对应的值(value),其中键(key)不能重复,可修改

1
2
3
4
5
6
7
8
9
10
11
12
13
#字典
d = {"张三": 670, "李四": 780, "王五": 890}
#定义空字典
b = {}
c = dict() # 空字典的创建,也可以使用dict()函数

print(d)
print(d["张三"]) # 访问字典中键为"张三"的值
print(d.get("李四")) # 访问字典中键为"李四"的值,未找到则返回None
print(d.keys()) # 访问字典中的所有键
print(d.values()) # 访问字典中的所有值
print(d.items()) # 访问字典中的所有键值对
print("--------------------------------") #分割线

  需要注意的是在字典中,value可以是任何类型的数据,而key不能为可变类型

1
2
3
4
5
6
7
8
9
10
11
12
13
#字典的操作
d = {"张三": 670, "李四": 780, "王五": 890}
print(d)
d["张三"] = 680 # 修改字典中键为"张三"的值
print(d)
d["赵六"] = 790 # 在字典中添加一个键值对
print(d)
del d["王五"] # 删除字典中键为"王五"的键值对
print(d)
d.keys() # 访问字典中的所有键
d.values() # 访问字典中的所有值
d.items() # 访问字典中的所有键值对
print("--------------------------------") #分割线

  

7.容器总结


Python--数据容器
https://one-null-pointer.github.io/2025/12/21/Python--数据容器/
Author
liaoyue
Posted on
December 21, 2025
传送口