boxmoe_header_banner_img

你好,海绵宝宝

加载中

文章导读

python-数据容器


avatar
lqbing2025 2025年4月27日 218



数据容器入门


name_list = ['1','好']
print(name_list)
    

python中的数据容器

可以容纳多份数据的数据类型,容纳的每一份数据称之为1个元素,每一个元素可以是任何数据类型

数据容器特点

  • 是否支持重复元素
  • 是否可以修改
  • 是否有序,等

分为5类

  • 列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)

数据容器:list(列表)

列表的定义

基本语法


# 字面量
[元素1,元素2]
# 定义变量
变量名称 = [元素1,元素2]
# 定义空列表
变量名称 = []
变量名称 = list()
    

列表内的每一个数据称之为元素

以[]作为标识

列表内每一个元素之间用,逗号隔开

列表的下标索引

如图从0开始依次递增


# 语法:列表[下标索引]
name_list =  [1,2,3]
print(name_list[0])
print(name_list[1])
print(name_list[2])
    

如图从-1开始依次递减


name_list =  [1,2,3]
print(name_list[-1]) # 结果3
print(name_list[-2])# 结果2
print(name_list[-3])# 结果1
    

嵌套列表的下标


# 语法:列表[外层下标][内层下标]
name_list =  [[1,2,3],[4,5,6]]
print(name_list[0][0])
print(name_list[1][1])
print(name_list[1][2])
    

列表的常用操作

查询功能

功能:查找指定元素在列表的下标

语法:列表.index(元素)

修改功能

功能:修改特定位置(索引)的元素值

语法:列表[下标] = 值

插入元素

语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素

追加元素

语法:列表.append(元素),将指定元素,追加到列表的尾部

追加一批元素

语法:列表.extend(其它数据容器),将其它数据容器的内容取出,依次追加到列表尾部

删除元素

语法1:del 列表[下标]

语法2:列表.pop(下标)

删除某元素在列表中的第一个匹配项

语法:列表.remove(元素)

清空列表

语法:列表.clear()

统计某元素在列表的数量

语法:列表.count(元素)

统计列表中全部的元素数量

语法:len(列表)

总览

列表方法

列表的特点

  • 可以容纳多个元素(2***63)
  • 可以容纳不同类型的元素(混装)
  • 数据是有序存储的(有下标序号)
  • 允许重复数据存在
  • 可以修改(增加或删除元素等)

list(列表)的遍历

while循环遍历


age_studit = [21,25,21,23,22,20]
index = 0
while index < len(age_studit):
    a = age_studit[index]
    print(a)
    index += 1
    

for循环遍历


age_studit = [21,25,21,23,22,20]
for list_1 in age_studit:
    print(list_1)
    

对比

循环控制上

while可以自定义循环条件,for循环不可以

无限循环上

while可以通过控制条件做到无限循环,for循环不可以

使用场景上

while循环适用于任何想要循环的场景,for循环适用于、遍历数据容器的场景或简单的固定次数循环

数据容器:tuple(元组)

掌握元组的定义格式


# 定义元组字面量
(元素,元素)
# 定义元组变量
变量名称 = (元素,元素)
# 定义空元组
变量名称 = ()
变量名称 = tuple()
# 元组嵌套
变量名称 = ((元素,元素),(元素,元素))
    

注意

如果元组只有一个数据的,这个数据后面要添加逗号

元组的相关操作

元组操作

循环与列表一样

元组里的列表可以修改

元组的特点

  • 可以容纳多个数据
  • 可以容纳不同类型的数据(混装)
  • 数据是有序存储的(下标索引)
  • 不可以修改
  • 支持for循环
  • 多数特性和list一致,不同点在于不可修改的特性

数据容器:str(字符串)

字符串的下标(索引)

从前向后,下标从0

从后向前,下标从-1


name = "itheima"
print(name[0])
print(name[-1])
    

字符串的常用操作

查找特定字符串的下标索引

语法:字符串.index(字符串)

字符串的替换

语法:字符串.replce(字符串1,字符串2)

功能:将字符串内的全部:字符串1替换为字符串2

注意:不是修改字符串本身,而是得到了一个新的字符串

字符串的分割

语法:字符串.split(分隔符字符串)

功能:按照指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象中

注意:字符串本身不变,而是得到了一个列表对象

字符串的规整操作

去前后空格

语法:字符串.strip()

去前后指定字符串

语法:字符串.strip(字符串)

字符串的统计

语法:字符串.count(字符串)

统计字符串的长度

语法:len(字符串)

字符串常用操作汇总

字符串常用操作

字符串的特点

  • 只可以存储字符串
  • 长度任意(取决于内存大小)
  • 支持下标索引
  • 允许重复字符串存在
  • 不可以修改(增加或删除元素等)
  • 支持for循环

数据容器的切片

了解什么是序列

序列

内容连续、有序、可使用下标索引的一类数据容器

序列常见操作-切片

切片:从一个序列中取出一个子序列

语法:序列[起始下标:结束下标:步长]

  • 起始下标表示从何处开始,可以留空,留空视作从头开始
  • 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾
  • 步长表示,依次取元素的间隔
    • 步长1表示:一个个取元素
    • 步长2表示:每次跳过1个元素取
    • 步长N表示:每次跳过N - 1个元素取
    • 步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)

数据容器:set(集合)

集合的定义

基本语法


# 定义集合字面量
{元素,元素}
# 定义集合变量
变量名称 = {元素,元素}
# 定义空集合
变量名称 = set()
    

集合常用操作-修改

集合不支持:下标索引访问,但允许修改

添加新元素

语法:集合.add(元素)

移除元素

语法:集合.remove(元素)

随机取出元素

语法:集合.pop()

清空集合

语法:集合.clear()

取2个集合差集

语法:集合1.difference(集合2)

功能:取出集合1和集合2的差集(集合1有而集合2没有的)

消除2个集合差集

语法:集合1.difference_update(集合2)

功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素

2个集合合并

语法:集合1.union(集合2)

功能:将集合1和集合2组合成新集合

统计集合的元素个数

语法:len(集合)

集合的遍历

# 不能进行while循环,原因没有下标索引
set1 = {1,2,3,4,5}
for element in set1:
    print(f"集合的元素有:{element}")
    

集合常用功能总结

集合功能总结

集合的特点

  • 可以容纳多个数据
  • 可以容纳不同类型的数据(混装)
  • 数据是无序存储的(不支持下标索引)
  • 不允许重复数据存在
  • 可以修改(增加或删除元素等)
  • 支持for循环

数据容器:dict(字典、映射)

字典的定义

同样使用{},不过存储的元素是一个个的:键值对,如下语法


# 定义字典字面量
{key:value,key:value}
# 定义字典变量
my_dict = {key:value,key:value}
# 定义空字典
my_dict = {} 
my_dict = dict()
    

字典中不允许重复键

字典数据的获取

字典不允许使用下标索引,只能使用Key值获取对应的Value

字典的嵌套


my_dict = {
    '王力宏':{
        '语文':77,
        '数学':66,
        '英语':33
    },
    '周杰伦':{
        '语文': 88,
        '数学': 86,
        '英语': 55
    },
    '林俊杰':{
        '语文': 99,
        '数学': 96,
        '英语': 66
    }
}
    

字典的常用操作

新增元素

语法:字典[Key] = Value

结果:字典被修改,新增了元素

更新元素

语法:字典[Key] = Value

结果:字典被修改,元素被更新

注意:字典Key不可以重复,所有对已存在的Key执行上述操作,就是更新Value值

删除元素

语法:字典.pop(Key)

结果:获得指定Key的Value,同时字典被修改,指定Key的数据被删除

清空字典

语法:字典.clear()

结果:字典被修改后,元素被清空

感谢您的支持
微信赞赏

微信扫一扫

支付宝赞赏

支付宝扫一扫



评论(已关闭)

评论已关闭