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

运行

相关推荐
自学互联网14 小时前
使用Python构建钢铁行业生产监控系统:从理论到实践
开发语言·python
无心水14 小时前
【Python实战进阶】7、Python条件与循环实战详解:从基础语法到高级技巧
android·java·python·python列表推导式·python条件语句·python循环语句·python实战案例
xwill*14 小时前
RDT-1B: A DIFFUSION FOUNDATION MODEL FOR BIMANUAL MANIPULATION
人工智能·pytorch·python·深度学习
陈奕昆14 小时前
n8n实战营Day2课时2:Loop+Merge节点进阶·Excel批量校验实操
人工智能·python·excel·n8n
程序猿追14 小时前
PyTorch算子模板库技术解读:无缝衔接PyTorch模型与Ascend硬件的桥梁
人工智能·pytorch·python·深度学习·机器学习
秋邱15 小时前
高等教育 AI 智能体的 “导学诊践” 闭环
开发语言·网络·数据库·人工智能·python·docker
组合缺一15 小时前
Solon AI 开发学习6 - chat - 两种 http 流式输入输出
python·学习·http
沐浴露z15 小时前
为什么使用SpringAI时通常用Builder来创建对象?详解 【Builder模式】和【直接 new】的区别
java·python·建造者模式
青瓷程序设计15 小时前
【宠物识别系统】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
诸神缄默不语16 小时前
Python 3中的win32com使用教程+示例:从Excel读取数据生成Word格式报告批量发邮件
python·word·excel