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

运行

相关推荐
编程自留地10 分钟前
第10次:电商项目配置开发环境
python·django·商城
IT技术员15 分钟前
【Java学习】动态代理有哪些形式?
java·python·学习
q_q王20 分钟前
本地知识库工具FASTGPT的安装与搭建
python·大模型·llm·知识库·fastgpt
lanboAI21 分钟前
基于卷积神经网络的蔬菜水果识别系统,resnet50,mobilenet模型【pytorch框架+python源码】
pytorch·python·cnn
一刀到底21127 分钟前
ai agent(智能体)开发 python3基础8 网页抓取中 selenium 和 Playwright 区别和联系
人工智能·python
剑哥在胡说35 分钟前
Python三大Web框架对比:Django、Flask、Tornado的异步实现方式详解
数据库·python·django·flask·tornado
da-peng-song1 小时前
ArcGIS arcpy代码工具——根据属性结构表创建shape图层
javascript·python·arcgis
滚雪球~1 小时前
小市值策略复现(A股选股框架回测系统)
python·量化·策略
RockLiu@8052 小时前
探索PyTorch中的空间与通道双重注意力机制:实现concise的scSE模块
人工智能·pytorch·python