目录
简介
一、列表(list)
1、介绍
2、特点
3、功能
二、元组(tuple)
1、介绍
2、特点
3、功能
三、字典(dict)
1、介绍
2、特点
3、功能
四、集合(set)
1、介绍
2、特点
3、功能
总结
简介
Python 中有多种数据容器,常见的数据容器有:列表(list)、元组(tuple)、字典(dict)、集合(set),它们用于存储和组织数据,每种容器都有其特点和适用场景。以下是对 Python 中常见数据容器的详细介绍
一、列表(list)
1、介绍
列表是一种有序的可变容器,可以存储不同类型的数据元素,使用方括号 []
来创建,元素之间用逗号分隔。
my_list = [1,2,3,4,5]
list1 = list()
2、特点
- 有序性:元素的存储顺序是固定的,可以通过索引(从 0 开始)来访问各个元素,例如
my_list[0]
将获取到列表中的第一个元素1
。 - 可变性:可以对列表中的元素进行修改、替换、删除等操作。
- 支持多种数据类型混合:能在同一个列表中存放整数、浮点数、字符串、布尔值等不同类型的数据。
3、功能
- 增加
- append()
-
# 创建一个空列表 list1 = []list1.append(100) list1.append('hello') list1.append('world') list1.append(True) list1.append('hello') list1.append('flink') print(f"list1:{list1}") # list1:[100, 'hello', 'world', True, 'hello','flink']
- extend()
-
list1 = [1, 2, 3, 4] list2 = ['a', 'b', 'c'] list1.extend(list2) print(list1) # [1, 2, 3, 4, 'a', 'b', 'c']
- insert()
-
list1 = [1, 2, 3, 4] list1.insert(2, 'aaaaaa') print(list1) # [1, 2, 'aaaaaa', 3, 4]
- 删除
- 调用 remove() 函数 在已知要删除元素的值
-
list1 = [11, 22, 33, 44, 55, 66] list1.remove(44) # list1.remove(100) # 报错 print(f"list1: {list1}") # [11, 22, 33, 55, 66]
- 调用 pop() 函数 根据索引删除元素,返回被删除元素的值
-
list1 = [11, 22, 33, 44, 55, 66] s = list1.pop(3) print(f"list1: {list1}") print(s) # [11, 22, 33, 55, 66] # 44
- 使用 python 内置关键字 del
list1 = [11, 22, 33, 44, 55, 66] del list1[3] print(f"list1: {list1}") # [11, 22, 33, 55, 66]
-
- 修改
-
list1 = [11, 22, 33, 44, 55, 66] list1[3] = 100 print(f"list1: {list1}") # list1 : [11, 22, 33, 100, 55, 66]
-
- 复制
-
list1 = [11, 22, 33, 44, 55, 66] list2 = list1.copy() print(list2) # [11, 22, 33, 44, 55, 66]
-
- 反转
-
list1 = [11, 22, 33, 44, 55, 66] list1.reverse() print(f"反转后:{list1}") # 反转后:[66, 55, 44, 33, 22, 11]
-
二、元组(tuple)
1、介绍
元组也是有序的容器,但它是不可变的,一旦创建,元素就不能被修改,使用圆括号 ()
来创建(当元组中只有一个元素时,需要在元素后面添加逗号,如 (1,)
)。
tup = (1,)
tup1 = tuple()
2、特点
- 有序性:和列表一样,元素有固定顺序,可通过索引访问。
- 不可变性:其元素不可以被修改、替换或删除,保证了数据的稳定性,常用于存储一些不希望被改变的数据组合,比如函数返回多个值时,常以元组形式返回。
3、功能
元组具有的功能有索引、切片、计数等,无特殊功能,关键点是元组不可变且有序。
三、字典(dict)
1、介绍
字典是一种无序的键值对(key-value
)形式的数据容器,使用花括号 {}
创建,每个键值对之间用逗号分隔,键和值之间用冒号 :
分隔。
my_dict = {"name": "Alice", "age": 25, "city": "New York"}
dict1 = {}
2、特点
- 无序性:键值对在字典中的存储顺序是不确定的,不能依靠顺序来获取元素。
- 通过键访问值:可以通过唯一的键来获取对应的值,例如
my_dict["name"]
就能获取到"Alice"
这个值,键必须是不可变的数据类型(如字符串、数字、元组等),而值可以是任何类型的数据。 - 可变性:可以对字典中的键值对进行添加、修改、删除等操作,比如
my_dict["age"] = 26
就修改了"age"
对应的键值。
3、功能
- 索引
字典的索引功能与其他数据容器不同,不能依靠索引来获取元素
-
d1 = {'name':'张三', 'age':18, 'likes':['打游戏','看电影','跑步'], 'dog':{'name':'哮 天犬','age':3}} print(d1['age']) # 18 print(d1['likes'][1]) # 看电影
- keys() 获取字典中所有的键
- get(键) 根据键获取值
- items() 获取所有的键值对
- clear() 清空字典中所有的元素
- pop() 根据键从字典中移除一个键值对,返回一个值
四、集合(set)
1、介绍
集合是无序的、不包含重复元素的数据容器,使用花括号 {}来创建(注意:创建空集合时需要使用 set()
函数,因为直接用 {} 创建的是空字典)。
s1 = {1,3,5,6}
s2 = set()
2、特点
- 无序性:元素没有固定的顺序,所以不能像列表和元组那样通过索引来访问元素。
- 去重性:会自动去除重复的元素,适合用来对数据进行去重处理。
- 支持集合运算:例如并集(
|
)、交集(&
)、差集(-
)等,像set1 | set2
可得到两个集合的并集。
3、功能
- 根据集合会自动去除重复的元素特点,集合常常被用来去除重复元素
-
list1= [11, 22, 33, 45, 6, 1, 1, 22, 33, 45, 11] list1 = list(set(list1)) print(list1) #[33, 1, 6, 11, 45, 22]
总结
这些数据容器在 Python 编程中被广泛应用,根据不同的需求选择合适的容器类型,可以使代码更加高效、简洁、易于维护。