☰
【python基础】组合数据类型:元组、列表、集合、映射
2026/11/3 9:13:47 网站建设 项目流程

文章目录

  • 一. 序列类型
    • 1. 元组类型
    • 2. 列表类型(list)
      • 2.1. 列表创建
      • 2.2 列表操作
      • 2.3. 列表元素遍历 ing
        • 元素列表求平均值
        • 删除散的倍数
  • 二. 集合类型(set)
  • 三. 映射类型(map)
    • 1. 字典创建
    • 2. 字典操作
    • 3. 字典遍历 ing
      • 3.1. 计算消费额
      • 3.2. 词频统计

多个数据(可以是不同类型)组合成一个整体的数据集合称为组合数据类型,组合数据类型分为三类:序列类型、集合类型、映射类型。

一. 序列类型

Python中很多数据类型都是序列类型,其中比较重要的是字符串 (str)、元组(tuple)、列表(list)。

  • 字符串可以看成一个单字符的有序组合,属于序列类型,同时也是一种基本数据类型。
  • 元组是包含0个或多个数据项的不可变序列类型,即元组一旦生成,任何数据项都不可替换或删除。
  • 列表则是一个可以修改数据项的序列类型,使用非常灵活。

只要是序列类型,都可以使用相同的索引体系,Python中的序列支持双向索引,即正向递增序号和反向递减序号。

正向递增索引从左到右依次递增,第1个元素的索引号为0,第2个元 素的索引号为1,以此类推。反向递减索引从右到左依次递减,最后一个 元素的索引号为-1,倒数第二个为-2,以此类推。

序列类型有12个通用的操作符和函数,如表所示。

1. 元组类型

元组一旦创建就不能被修改。一般用于表达固定数据项、函数返回值、多变量同时赋值、循环遍历等情况。

Python构建元组的方式非常简单,可以用tuple()函数构建,

  • tuple()函数中的参数是一个可迭代的数据,若没有传入参数,则创建空元组。
  • 可以直接用圆括号包含多个使用逗号隔开的元素来创建元组。
  • 非空元组的括号可以省略。
>>>tuple[(1,2,3)]tuple[1,2,3]>>>tuple[1,2,3]tuple[1,2,3]>>>tuple('Python')('P','y','t','h','o','n')>>>st='学号','姓名','专业'>>>st('学号','姓名','专业')>>>course=('高等数学','英语','python程序设计')>>>course[1]'英语'>>>course[0]'高等数学'

2. 列表类型(list)

列表(list)是包含0个或多个对象引用的有序序列,

  • 与元组不同,列表的长度和内容都是可变的,可自由对列表中的数据项进行增加、删除 或替换
  • 列表没有长度限制,元素的类型可以各不相同,使用非常灵活。

2.1. 列表创建

# 1. list()函数将已有的元组字符串转换为列表。# 元组转换位列表>>>tuple[1,2]tuple[1,2]>>>tp=(10,20,30)>>>list(tp)[10,20,30]# 2. 直接 用[]号创建 存放不同元素>>>ls=[12,'abc',['red','green']]>>>ls[2][1]'green'

2.2 列表操作

# 浅拷贝>>>lt=ls# 修改值>>>ls[1]='python'>>>ls[1]'python'>>>lt[12,'python',['red','green']]# 深拷贝# 或通过list()或 [ ]创建才会生成新列表>>>lt=ls.copy()>>>lt[12,'python',['red','green']]

  1. 替换:单个元素替换;范围替换;范围步长替换、
  2. 删除:范围删除;范围步长删除
  3. 列表叠加;列表翻倍:所有元素重复n倍;列表追加、列表在某个位置插入
  4. 清空列表;取出列表指定位置元素并删除;删除第一个出现的元素x
  5. 列表复制;
  6. 列表反转(不需要参数);列表排序。
>>>lt.reverse(1)TypeError:list.reverse()takes no arguments(1given)>>>lt.reverse()>>>lt['1',1,['red','green'],'python',12,['red','green'],'python',12]

2.3. 列表元素遍历 ing

对列表进行遍历使用for-in结构,可对列表中的元素按序访问。

如果对元素访问时不需要删除操作,则可直接遍历列表。如果对元素 访问时涉及删除或改变元素位置等操作,则应先对原列表进行复制,在复 制的列表中遍历,而在原列表中操作,这样可以保证每个元素都能被遍历 并进行操作。

元素列表求平均值
删除散的倍数

二. 集合类型(set)

定义

  • 集合中的元素不可重复,元素类型只能是固定数据类型,不能是可变数据类型。
  • 集合是无序的组合,没有索引和位置的概念,不能分片,集合中的元素可以动态增加或删除。

创建

  • 集合用大括号{}表示,各元素之间用逗号隔开。
  • set()函数进行集合的创建
>>>s1={100,'python',2.9}>>>s1{'python',2.9,100}>>>s2=set('python')>>>s2{'p','h','o','t','y','n'}>>>s3=set(('python',123))>>>s3{'python',123}

集合的操作符有10个

返回一个新集合或更新S

  1. 包含在S但不含T中元素:-
  2. 同时包含在S且T中的元素:&
  3. 取非交集:^
  4. 两者所有元素:|
  5. 子集与真子集:>、>=

三. 映射类型(map)

  • 映射类型每一个元素都是一个键-值对,即元素是(key,value),元素之间是无序的
  • 键(key)表示一个属性,也可理解为一个类别或项目,值(value) 是属性的内容。键-值对将映射关系结构化,用于存储和表达。
  • 在实际应用中有很多键-值对的案例,如通信录中姓名和电话号码、 用户信息中用户名与密码、邮政编码与运输成本、国家名称与首都等。

1. 字典创建

这种通过任意键信息查找一组数据中值信息的过程称为映射,在 Python中,映射类型主要以字典(dict)进行体现。

  • 字典是包含0个或多个键-值对的无序集合,没有长度限制,可以根据键索引值的内容,且键具有唯一性。
  • Python中可以通过函数dict()来创建空字典,也可以通过大括号{} 来创建。
>>>student={}>>>student=dict()>>>d={"中国":"北京","美国":"华盛顿"}# 获取某一个元素>>>d["中国"]'北京'# 修改值>>>d["中国"]="上海">>>d["中国"]'上海'

输出顺序:字典输出数据的顺序可能与创建之初的顺序不一致。其原因是字典是集合类型的延续,所以各元素之间没有顺序之分。

2. 字典操作

  1. 返回键列表;值列表;键值列表
  2. 获取某个键的值;元组形式返回
  3. 获取值,并删除此键值对;删除所有;删除某一个
  4. 判断key是否存在
>>>d={"中国":"北京","美国":"华盛顿","英国":"伦敦"}>>>d{'中国':'北京','美国':'华盛顿','英国':'伦敦'}>>>d.keys()dict_keys(['中国','美国','英国'])>>>list(d.values())['北京','华盛顿','伦敦']>>>list(d.items())[('中国','北京'),('美国','华盛顿'),('英国','伦敦')]>>>d.get('中国','上海')'北京'>>>d.pop('法国','巴黎')'巴黎'>>>d{'中国':'北京','美国':'华盛顿','英国':'伦敦'}>>>d.pop('中国','巴黎')'北京'>>>d{'美国':'华盛顿','英国':'伦敦'}>>>d.popitem()('英国','伦敦')>>>d{'美国':'华盛顿'}>>>deld['美国']>>>d{}

3. 字典遍历 ing

3.1. 计算消费额

3.2. 词频统计

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询