当前位置: 首页 > news >正文

Python数据容器:数据容器的分类、数据容器特点总结、各数据容器遍历的特点、数据容器通用操作(统计,转换,排序)

目录

数据容器的分类

数据容器特点总结

数据容器遍历的特点

通用操作

通用统计len()、max()、min()

通用转换list()、tuple()、str()、set()

通用排序sorted


数据容器的分类

分类:

  1. 是否支持下标索引
    1. 支持:列表、元组、字符串-序列类型
    2. 不支持:集合、字典-非序列类型
  2. 是否支持重复元素
    1. 支持:列表、元组、字符串-序列类型
    2. 不支持:集合、字典(键不能重复)-非序列类型
  3. 是否支持修改
    1. 支持:列表、集合、字典
    2. 不支持:元组、字符串

数据容器特点总结

列表

元组

字符串

集合

字典

元素数量

支持多个

支持多个

支持多个

支持多个

支持多个

元素类型

任意

任意

仅字符

任意

Key是除集合和字典外的任意类型;

Value是任意类型

下标索引

支持

支持

支持

不支持

不支持

重复元素

支持

支持

支持

不支持

不支持

可修改性

支持

不支持

不支持

支持

支持

数据有序

使用场景

可修改、可重复的一批数据记录场景

不可修改、可重复的一批数据记录场景

一串字符记录场景

一批数据,去重存储场景

一批数据,以key检索Value的数据记录场景

数据容器遍历的特点

数据容器的遍历:

  1. 5类数据容器都支持for循环
  2. 列表、元组、字符串都支持while循环,集合和字典不支持(没有下标索引)

通用操作

通用统计len()、max()、min()

数据容器的通用操作:

  1. len(容器):统计容器的元素的个数
  2. max(容器):统计容器的最大元素
  3. min(容器):统计容器的最小元素

那么字符串进行大小比较,是如何比较的呢?

  1. 字符串是基于字符在ASCII码表对应的值进行比较的
  2. 字符串是按位比较的(从前向后),只要有一位大,那么整体就大

通用转换list()、tuple()、str()、set()

  1. list(容器):将容器转换为列表
  2. tuple(容器):将容器转换为元组
  3. str(容器):将容器转换为字符串
  4. set(容器):将容器转换为集合

示例如下:

list_test = [1, 2, 2, "3", 4]
tuple_test = (
1, 2, 2, "3", 4)
str_test =
"12234"
set_test = {1, 2, "3", 4}
dict_test = {
1: "Hello", 2: "World", 3: "Content"}
print("--------------------------------------------------------------------")
print(f"列表转列表:{list(list_test)}")
print(f"元组转列表:{list(tuple_test)}")
print(f"字符串转列表:{list(str_test)}")
print(f"集合转列表:{list(set_test)}")
print(f"字典转列表:{list(dict_test)}")
print("--------------------------------------------------------------------")
print(f"列表转元组:{tuple(list_test)}")
print(f"元组转元组:{tuple(tuple_test)}")
print(f"字符串转元组:{tuple(str_test)}")
print(f"集合转元组:{tuple(set_test)}")
print(f"字典转元组:{tuple(dict_test)}")
print("--------------------------------------------------------------------")
print(f"列表转字符串:{str(list_test)},类型:{type(str(list_test))}")
print(f"元组转字符串:{str(tuple_test)},类型:{type(str(tuple_test))}")
print(f"字符串转字符串:{str(str_test)},类型:{type(str(str_test))}")
print(f"集合转字符串:{str(set_test)},类型:{type(str(set_test))}")
print(f"字典转字符串:{str(dict_test)},类型:{type(str(dict_test))}")
print("--------------------------------------------------------------------")
print(f"列表转集合:{set(list_test)}")
print(f"元组转集合:{set(tuple_test)}")
print(f"字符串转集合:{set(str_test)}")
print(f"集合转集合:{set(set_test)}")
print(f"字典转集合:{set(dict_test)}")

运行

通用排序sorted

通用排序功能:将给定的容器进行排序(一般都是对容器中的数字进行排序,即相同类型进行排序)

语法:

sorted(容器, reverse=True)

注意:

  1. reverse可不写,默认排序为正向,如果想要容器的排序结果反转,则令reverse=True
  2. 排序的结果会放入到新列表中

示例如下:

list_test = [10, 2, 2, 3, 4]tuple_test = (8, 2, 2, 3, 4)str_test = "dafkgbc"set_test = {1, 3, 2, 4}dict_test = {1: "Hello", 2: "World", 3: "Content"}print(sorted(list_test))print(sorted(tuple_test))print(sorted(str_test))print(sorted(set_test))print(sorted(dict_test))print("反向排序-----------------------------------------------------")print(sorted(list_test, reverse=True))print(sorted(tuple_test, reverse=True))print(sorted(str_test, reverse=True))print(sorted(set_test, reverse=True))print(sorted(dict_test, reverse=True))

运行

相关文章:

  • C++ 中自主内存管理 new/delete 与 malloc/free 完全详解
  • 如何搭建spark yarn 模式的集群集群
  • 贝叶斯优化RF预测模型
  • MYSQL三大日志、隔离级别(MVCC+锁机制实现)
  • 【深度学习与大模型基础】第14章-分类任务与经典分类算法
  • Vue2 相关知识点整理
  • 数据结构---单链表的增删查改
  • 第十六届蓝桥杯 2025 C/C++组 25之和
  • 【Bash】可以请您解释性地说明一下“2>1”这个语法吗?
  • 基于tabula对pdf中多个excel进行识别并转换成word中的优化(四)
  • 关于插值和拟合(数学建模实验课)
  • 【记】Laya2.x数字末尾导致换行异常问题
  • C# 14 field keyword:属性简化新利器
  • 基于PyTorch的Fashion-MNIST图像分类数据集处理与可视化
  • Java后端图形验证码的使用
  • [Linux网络_68] 转发 | 路由(Hop by Hop) | IP的分片和组装
  • 当OA闯入元宇宙:打卡、报销和会议的未来狂想
  • 【C++11】包装器:function与bind
  • 【BotSharp框架示例 ——实现聊天机器人,并通过 DeepSeek V3实现 function calling】
  • 【MuJoCo仿真】开源SO100机械臂导入到仿真环境
  • 当老年人加入“行为艺术基础班”
  • 这就是上海!
  • 中国人保聘任田耕为副总裁,此前为工行浙江省分行行长
  • “杭州六小龙”的招聘迷局
  • 新质观察|重塑低空经济的系统安全观
  • 西班牙遭遇史上最严重停电,已进入国家紧急状态