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))

运行

相关推荐
云霄IT2 分钟前
python之使用cv2.matchTemplate识别缺口滑块验证码---实现最佳图像匹配
python·opencv·计算机视觉
BenjaminQA1 小时前
Python OpenCV 模板匹配的一些应用场景和方法思考,浅析KAZE特征匹配对比
python·opencv·kaza·图片匹配·airtest ui自动化
逆羽飘扬3 小时前
【JupyterLab集成】GPU性能监控可视化组件
人工智能·python·jupyter·gpu监控
love530love3 小时前
【笔记】解决部署国产AI Agent 开源项目 MiniMax-M1时 Hugging Face 模型下载缓存占满 C 盘问题:更改缓存位置全流程
开发语言·人工智能·windows·笔记·python·缓存·uv
狐凄3 小时前
Python实例题:基于 Apache Kafka 的实时数据流处理平台
开发语言·python
Jooolin4 小时前
【Python】Python可以用来做游戏吗?
python·ai编程·游戏开发
MarkGosling4 小时前
【开源项目】免费且本地运行:用 DeepEval 测测你的大模型接口有没有缩水
人工智能·python·llm
noravinsc4 小时前
django调用 paramiko powershell 获取cpu 核数
python·django
何双新4 小时前
Odoo 18进阶开发:打造专业级list,kanban视图Dashboard
python·pycharm
胖哥真不错4 小时前
基于PyQt5和PaddleSpeech的中文语音识别系统设计与实现(Python)
python·毕业设计·语音识别·课程设计·paddlespeech·pyqt5·中文语音识别系统