有哪些数据容器?
Python提供了几种常见的数据容器,包括列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。他们都能满足容纳多个元素的特点。
每种容器都有其独特的特点和用途,我们将逐一探索它们。
列表(List)
列表是一个有序的数据集合,可以容纳任意数量的元素。它具有可变性,即可以添加、删除或修改其中的元素。
# 字面量
[元素1,元素2,元素3,元素4,……]
# 定义变量
变量名称 = [元素1,元素2,元素3,元素4,……]
# 定义空列表
变量名称 = []
变量名称 = list()
列表内的每一个数据,称之为元素
例如,我们可以创建一个名为fruits的列表。
fruits = ['apple', 'banana', 'orange']
print(fruits)
print(type(fruits))
zooms = [True, 666, fruits]
print(zooms)
print(type(zooms))
输出:
['apple', 'banana', 'orange']
<class 'list'>
[True, 666, ['apple', 'banana', 'orange']]
<class 'list'>
注意:
列表中存储的元素类型是不受限的,可以是字符串、数字、布尔、列表等;
列表中元素是列表,即为嵌套列表
。如何从列表中获取特定位置的元素呢?
可以使用下标索引获取元素。
例如:
fruits = ['apple', 'banana', 'orange']
'apple':下标索引是0
'banana':下标索引是1
'orange':下标索引是2
取值语法:
列表变量名[下标索引]
列表中每一个元素,都有其位置下标索引,从前向后的方向,从0开始,依次递增。
fruits = ['apple', 'banana', 'orange']
zooms = ['大象', 666, fruits]
print(zooms[0])
print(zooms[1])
print(zooms[2])
输出
大象
666
['apple', 'banana', 'orange']
取出嵌套列表的数据,嵌套列表中会按照下标索引-正向从前向后,从0开始,依次递增。
fruits = ['apple', 'banana', 'orange']
zooms = ['大象', 666, fruits]
print(zooms[2][0])
print(zooms[2][1])
print(zooms[2][2])
输出
apple
banana
orange
从后向前的方向,从-1开始,依次递减。
例如:
fruits = ['apple', 'banana', 'orange']
'apple':下标索引是-3
'banana':下标索引是-2
'orange':下标索引是-1
fruits = ['apple', 'banana', 'orange']
zooms = ['大象', 666, fruits]
print(zooms[-1])
print(zooms[-2])
print(zooms[-3])
输出
['apple', 'banana', 'orange']
666
大象
这里取出嵌套数据的方法就自行联系吧~
语法(查找指定元素在列表的下标,如果找不到,报错ValueError)
列表变量名.index(元素)
例如:
zooms = ['大象', 666, fruits]
print(zooms.index(666))
print(zooms.index(66))
输出
1
Traceback (most recent call last):
File "D:\jushu\demo\func1.py", line 20, in <module>
print(zooms.index(66))
ValueError: 66 is not in list
语法
列表变量名[下标]=值
例如:
zooms = ['大象', 666, fruits]
zooms[1] = 66
print(zooms)
print(zooms.index(66))
输出
['大象', 66, ['apple', 'banana', 'orange']]
1
语法
列表变量名.insert(下标,值)
例如:
zooms = ['大象', 666, fruits]
zooms.insert(1,'新数据放到下标索引为1的位置')
print(zooms)
输出
['大象', '新数据放到下标索引为1的位置', 666, ['apple', 'banana', 'orange']]
语法(将指定元素追加到列表的尾部)
列表变量名.append(元素)
例如:
zooms = ['大象', 666, fruits]
zooms.append('末尾加个数据')
print(zooms)
输出
['大象', 666, ['apple', 'banana', 'orange'], '末尾加个数据']
语法(将元素追加到列表的尾部)
列表变量名.extend(元素)
例如:
zooms = ['大象', 666, fruits]
newlist= [True, 23]
zooms.extend(newlist)
print(zooms)
输出
['大象', 666, ['apple', 'banana', 'orange'], True, 23]
语法
del 列表变量名[下标]
# pop可以将删除列表中的数据赋值给变量
列表变量名.pop(下标)
# remove会删除列表中的第一个匹配项
列表变量名.remove(元素)
例如:
zooms = ['大象', 666, ['apple', 'banana', 'orange'], '末尾加个数据']
del zooms[1]
print(zooms)
strs = zooms.pop(2)
print(f'通过pop取出元素,{strs},{zooms}')
zooms = ['大象', 666, ['apple', 'banana', 'orange'], '大象']
zooms.remove('大象')
print(zooms)
输出
['大象', ['apple', 'banana', 'orange'], '末尾加个数据']
通过pop取出元素,末尾加个数据,['大象', ['apple', 'banana', 'orange']]
['大象',666, ['apple', 'banana', 'orange']]
语法
列表变量名.clear()
例如:
zooms.clear()
print(zooms)
输出
[]
语法
变量名 = 列表变量名.count(元素)
例如:
zooms = ['大象', '小狼', '大象', '小老虎']
count = zooms.count('大象')
print(count)
输出
2
语法
变量名 = len(列表变量名)
例如:
zooms = ['大象', '小狼', '大象', '小老虎']
count = len(zooms)
print(count)
输出
4
当我们需要遍历一个列表时,可以使用Python中的for循环结构来实现。具体用法如下:
for element in list:
# 处理每个元素的代码
其中,element是当前循环中的元素变量,list是要遍历的列表名称。在每次循环中,element会依次取到列表中的每个元素,直到处理完所有元素为止。
下面是一个简单的例子,遍历一个包含数字的列表,并打印出每个数字:
# 定义一个数字列表
numbers = [1, 2, 3, 4, 5]
# 遍历并打印每个数字
for num in numbers:
print(num)
输出结果:
1
2
3
4
5
在循环中,num逐一取到列表中的每个数字,并使用print()函数打印出来。这样就完成了遍历列表的操作。