Python数据容器
数据容器
数据容器总结表:

数据容器通用功能表:

一:列表(list)
基本语法
# 定义
1、语法:列表名=[元素1,元素2,...]
2、注意:元素的类型是不受限制的
3、案例:
list = [1,2,52,17,[3,1]]
# 提取 => 下标索引提取
1、语法:列表名[下标]
2、注意:
左->右:下标编号从0开始递增
右->左:下标编号从-1开始递减
3、案例:
list = [1,2,52,17,[3,1]]
print(list[1])
print(list[4][1])
----------
2
1
----------
常用操作方法

list = [1,2,52,17,[3,1]]
1、查找元素下标(若元素不存在则报错)
index = list.index(1) // 列表.index(元素)
print(index)
--------------
0
--------------
2、插入元素
list.insert(1,'插入内容') // 列表.insert(下标,元素)
print(list)
-------------------------------------
[1, '插入内容', 2, 52, 17, [3, 1]]
-------------------------------------
3、追加元素(添加至尾部)
# 追加单个元素:列名.append(元素)
list.append("追加内容")
print(list)
---------------------------------------
[1, 2, 52, 17, [3, 1], '追加内容']
---------------------------------------
# 追加批量元素:列表.extend(其他数据容器)
other_list = [1,2,3]
list.extend(other_list)
print(list)
---------------------------------------
[1, 2, 52, 17, [3, 1], 1, 2, 3]
---------------------------------------
4、删除元素
# 1、下标删除
# 方式一:del 列表[下标]
del list[2]
print(f"列表删除后结果:{list}")
---------------------------------
列表删除后结果:[1, 2, 17, [3, 1]]
---------------------------------
# 方式二:列名.pop(下标)
element = list.pop(2)
print(f"删除后的结果:{list},删除的元素为{element}")
---------------------------------------------
删除后的结果:[1, 2, 17, [3, 1]],删除的元素为52
---------------------------------------------
# 2、指定元素删除【遍历,删除首个】
list.remove(52) // 列表.remove(元素)
print(f"删除后的结果:{list}")
-----------------------------------
删除后的结果:[1, 2, 17, [3, 1]]
-----------------------------------
5、清空列表
list.clear()
print(f"清空后的列表:{list}")
-----------------
清空后的列表:[]
-----------------
6、修改元素
list[0] = 3 // 列表[下标]=值
print(list)
-----------------------
[3, 2, 52, 17, [3, 1]]
-----------------------
7、统计元素个数
count = list.count(1) // 列表.count(元素)
print(f"列表中元素为1的数量为:{count}")
-------------------------
列表中元素为1的数量为:1
-------------------------
8、统计列表中所有元素个数
count = len(list)
print(f"列表中一共有{count}个元素")
----------------------
列表中一共有5个元素
----------------------
while和for循环遍历
# while循环
list = ['王邦','刘彻','朱元璋','赵匡义']
index = 0
while index < len(list):
element = list[index]
print(f"当前下标{index}的元素为:{element}")
index += 1
-----------------------
当前下标0的元素为:王邦
当前下标1的元素为:刘彻
当前下标2的元素为:朱元璋
当前下标3的元素为:赵匡义
-----------------------
# for循环
list = ['王邦','刘彻','朱元璋','赵匡义']
for i in range(len(list)):
print(f"当前下标{i}的元素为:{list[i]}")
-----------------------
当前下标0的元素为:王邦
当前下标1的元素为:刘彻
当前下标2的元素为:朱元璋
当前下标3的元素为:赵匡义
-----------------------
二:元组(tuple)
基本语法
# 定义
1、语法:变量名=(元素1,元素2,...)
2、注意:元素的类型是不受限制的,与列表最大的区别就是【元组一旦定义完成,就无法修改】
3、案例:
t1 = (1,'hello',True) # 定义元组变量
t2 = () # 定义空元组
t3 = ('hello',) # 定义单个元素的元组
# 提取 => 下标索引提取
1、语法:元组名[下标]
2、注意:
左->右:下标编号从0开始递增
右->左:下标编号从-1开始递减
3、案例:
t1 = (1,'hello',True)
num = t1[2]
print(num)
-------------
True
-------------
常用操作方法

t = (1,'hello',True,'china','china','china','china')
# index查找元素下标(若元素不存在则报错)
index = t.index('china')
print(index)
-------------
3
-------------
# count统计方法
cnt = t.count('china')
print(cnt)
-------------
4
-------------
# len统计元组元素数量
num = len(t)
print(num)
------------
7
------------
三:字符串
基本语法
# 定义
1、语法:变量名="字符串内容"
2、注意:字符串时无法修改的数据容器,【若进行修改】,则会得到一个【新的字符串容器】
3、案例:
str = "hello"
# 提取 => 下标索引提取
1、语法:元组名[下标]
2、注意:
左->右:下标编号从0开始递增
右->左:下标编号从-1开始递减
3、案例:
str = "hello"
value = str[4]
print(value)
----------
o
----------
常用操作方法

str = "hello,i am WangBing.how are you!"
# index查找元素下标(若元素不存在则报错)
index = str.index("how")
print(f"寻找and对应的下标为:{index}")
-----------------------
寻找and对应的下标为:20
-----------------------
# 字符串替换replace
new_str = str.replace("i am","我是")
print(new_str)
--------------------------------
hello,我是 WangBing.how are you!
--------------------------------
# 字符串分割split
new_str = str.split(" ") // 根据空格分割
print(new_str)
--------------------------------------------------
['hello,i', 'am', 'WangBing.how', 'are', 'you!']
--------------------------------------------------
# 统计字符串中某字符出现次数count
cnt = str.count("i")
print(cnt)
-------------
2
-------------
# 统计字符串长度len
length = len(str)
print(length)
------------
32
------------
# 字符串前后去除操作strip
# 1、去前后空格
str1 = " hello my boy "
new_str = str1.strip()
print(new_str)
--------------------
hello my boy
--------------------
#2、去前后指定字符串
str1 = "12hello my boy21"
new_str = str1.strip("12")
print(new_str)
--------------------
hello my boy
--------------------
四:序列
基本定义
序列定义:内容连续,有序,可使用下标索引的一类数据容器
【列表】,【元组】,【字符串】均可视为序列
切片操作
#基本语法:
序列[起始下标:结束下标:步长]
步长1,表示一个一个取
步长2,表示每次跳过1个元素取
步长N,表示每次跳过N-1个元素取
步长为负,反向取(起始下标和结束下标都为负)
# 案例:
tuple = (1,3,4,2,1,3,5,1)
result = tuple[1:5]
print(f"结果:{result}")
----------------------
结果:(3, 4, 2, 1)
----------------------
五:Set集合
基本语法
# 定义
1、语法:变量名={元素1,元素2,元素3,...}
2、注意:内部无序,且去重【不支持重复元素】,允许被修改
3、案例:
set1 = {1,2,3} # set集合定义
set2 = set() # set空集合定义
4、【不支持下标索引访问】
常用操作方法

my_set={"你好","china","beauty"}
# 添加新元素add
my_set.add("三玖")
print(my_set)
------------------------------------
{'beauty', 'china', '你好', '三玖'}
------------------------------------
# 移除元素remove
my_set.remove("你好")
print(my_set)
----------------------
{'beauty', 'china'}
----------------------
# 随机取出一个元素pop
element = my_set.pop()
print(f"集合被取出的元素:{element},去除元素后:{my_set}")
----------------------------------------------------
集合被取出的元素:china,去除元素后:{'你好', 'beauty'}
----------------------------------------------------
# 清空set集合clear
my_set.clear()
print(my_set)
----------
set()
----------
# 取两个集合差集difference => 注意点:结果会得到一个新的集合,集合1和集合2不变
set1 = {1,2,3}
set2 = {1,5,6}
set3 = set1.difference(set2) # 取出set1和set2差集(set1有而set2没有)
print(f"去除差集后的结果:{set3}")
-----------------------
去除差集后的结果:{2, 3}
-----------------------
# 消除两个集合差集difference_update => 注意点:集合1被修改,集合2不变
set1 = {1,2,3}
set2 = {1,5,6}
set1.difference_update(set2) # set1中,删除和set2相同的元素
print(f"去除差集后,set1的结果:{set1}")
print(f"去除差集后,set2的结果:{set2}")
----------------------------
去除差集后,set1的结果:{2, 3}
去除差集后,set2的结果:{1, 5, 6}
----------------------------
# 两集合合并union
set1 = {1,2,3}
set2 = {1,5,6}
new_set = set1.union(set2)
print(new_set)
------------------
{1, 2, 3, 5, 6}
------------------
# 统计集合元素数量len
set = {1,2,3}
cnt = len(set)
print(cnt)
-----------
3
-----------
# 集合遍历 => 只支持for循环
六:字典
基本语法
# 定义
1、语法:变量名={键1:值1,键2:值2,键3:值3,...}
2、注意:【类似于map,键值对的形式】
3、案例:
dict1 = {"java":88,"html":69} # dict集合定义
dict2 = dict() # set空集合定义
4、【不支持下标索引访问】
5、支持嵌套,但只能在value处进行嵌套处理
6、根据键来获取值:
dict = {"java":88,"html":98}
value = dict["java"]
print(value)
-----------
88
-----------
常用操作方法

# 获取指定Key对应的Value值
dict = {"java":88,"html":98}
value = dict["java"]
print(value)
-----------
88
-----------
# 添加或更新键值对
dict = {"java":88,"html":98}
dict["spark"]=95
print(dict)
---------------------------------------
{'java': 88, 'html': 98, 'spark': 95}
---------------------------------------
# 删除
dict = {"java":88,"html":98}
dict.pop("java")
print(dict)
---------------
{'html': 98}
---------------
# 清空字典
dict = {"java":88,"html":98}
dict.clear()
print(dict)
--------------
{}
--------------
# 获取所有的key值
dict = {"java":88,"html":98}
keys = dict.keys()
print(keys)
----------------------------
dict_keys(['java', 'html'])
----------------------------
# 元素个数
dict = {"java":88,"html":98}
cnt = len(dict)
print(cnt)
----------------
2

浙公网安备 33010602011771号