python数据容器分类

news2024/9/30 21:35:12

目录

一.数据容器可以从以下视角进行简单的分类:

1.是否支持下标索引

2.是否支持重复元素:

3.是否可以修改

二.数据容器特点对比

三.数据容器的通用操作

1.遍历

2.len(容器)、max(容器)、min(容器)

 3.类型转换

注意

4.排序


 

一.数据容器可以从以下视角进行简单的分类:

1.是否支持下标索引

  •         支持:列表、元组、字符串–序列类型
  •         不支持:集合、字典-非序列类型

2.是否支持重复元素:

  •         支持:列表、元组、字符串–序列类型。
  •         不支持:集合、字典–非序列类型

3.是否可以修改

  •         支持:列表、集合、字典。
  •         不支持:元组、字符串

二.数据容器特点对比

列表元组字符串集合字典
元素个数多个多个多个多个多个
元素类型任意任意仅字符任意key:value
key:除字典外任意类型
value:任意类型
下标索引支持支持支持不支持不支持
重复元素支持支持支持不支持不支持
可修改性支持不支持不支持支持支持
数据有序
使用场景可修改、可重复的数据记录场景不可修改、可重复的一批数据记录场景一串字符的记录场景不可重复的数据记录场景以Key检索value的数据记录场景

三.数据容器的通用操作

数据容器尽管各自有各自的特点,但是它们也有通用的一些操作。

  • 遍历
  • len(容器)
  • max(容器)
  • min(容器)
  • list(容器)将给定的容器转换为列表
  • str(容器)将给定的容器转换为字符串
  • tuple(容器)将给定的容器转换为元组
  • set(容器)将给定的容器转换为集合
  • 排序

1.遍历

  • 5类数据容器都支持for循环遍历
  • 列表、元组、字符串支持while循环,集合、字典不支持(无法下标索引)

尽管遍历的形式各有不同,但是,它们都支持遍历操作。

2.len(容器)、max(容器)、min(容器)

演示

my_list = [2,34,53,6]
my_tuple = (3,5,2,6)
my_str = "abcdcba"
my_set = {1,4,2,6,7}
print(f"max(my_list)结果是{max(my_list)}")
print(f"min(my_list)结果是{min(my_list)}")
print(f"len(my_list)结果是{len(my_list)}")
print("------------------------------")
print(f"max(my_tuple)结果是{max(my_tuple)}")
print(f"min(my_tuple)结果是{min(my_tuple)}")
print(f"len(my_tuple)结果是{len(my_tuple)}")
print("------------------------------")
print(f"max(my_str)结果是{max(my_str)}")
print(f"min(my_str)结果是{min(my_str)}")
print(f"len(my_str)结果是{len(my_str)}")
print("------------------------------")
print(f"max(my_set)结果是{max(my_set)}")
print(f"min(my_set)结果是{min(my_set)}")
print(f"len(my_set)结果是{len(my_set)}")

结果是

 3.类型转换

演示

my_list = [2,34,53,6]
print(my_list)
print(f"my_list的类型是{type(my_list)}")
my_list1=tuple(my_list)
print(my_list1)
print(f"经过tuple(my_list)后my_list的类型是{type(my_list)}")
print(f"经过tuple(my_list)后my_list1的类型是{type(my_list1)}")

print("---------------------------------")
my_tuple = (3,5,2,6)
print(my_tuple)
print(f"my_tuple的类型是{type(my_tuple)}")
my_tuple1=set(my_tuple)
print(my_tuple1)
print(f"经过set(my_tuple)后my_tuple的类型是{type(my_tuple)}")
print(f"经过set(my_tuple)后my_tuple1的类型是{type(my_tuple1)}")

结果是

注意

根据结果演示我们可以看出,经过转换之后先前的数据类型并没有改变,他只是新建了一个数据类型

4.排序

sorted(容器,[reverse=True])将给定容器进行排序

 

如结果所示

直接用sorted(容器),就是升序排序

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/96020.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Clipper库 | 坐标圆整和精度控制

坐标圆整造成的问题 在Clipper库中顶点(IntPoint)的坐标使用的是整数类型, 目的是为了保持数字的鲁棒性,所以用整数类型来存储坐标,而不是我们常见的浮点数类型(浮点存在不精确性)。然而坐标圆…

Kerberos身份验证在ChunJun中的落地实践

Kerberos,在古希腊神话故事中,指的是一只三头犬守护在地狱之门外,禁止任何人类闯入地狱之中。 那么在现实中,Kerberos指的是什么呢? 一、Kerberos介绍 01 Kerberos是什么 根据百度词条释义,Kerberos是一…

Java——并查集

概念 当我们将多个元素分配到不同的集合中,这些集合有的是相关的,有的是不相关的。并查集就是用来查找两个元素是否在同一个集合中的 其主要实现方式是:将所有的元素以下标的形式存储在数组中。例如一共有十个人,那么就将这些人…

C语言tips-野指针

0.写在最前 最近因为工作需要开始重新学c语言,越学越发现c语言深不可测,当初用python轻轻松松处理的一些数据,但是c语言写起来却异常的复杂,这个板块就记录一下我的c语言复习之路 1. 什么是野指针? 如果一个指针指向的…

一文带你深入理解【Java基础】· IO流(上)

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

机器学习100天(五):005 数据预处理之划分训练集

机器学习100天,今天讲的是:数据预处理之划分训练集。 在上一节,我们对类别特征进行了编码,X 和 y 已经变成了机器学习可以理解和处理的数据格式。 下面我们就要对数据集进行划分,划分成训练集和测试集。 在监督式机器学习中,我们一般使用训练集的数据来训练模型,然后…

【LVGL学习笔记】(二) 基础概念

LVGL全程LittleVGL,是一个轻量化的,开源的,用于嵌入式GUI设计的图形库。并且配合LVGL模拟器,可以在电脑对界面进行编辑显示,测试通过后再移植进嵌入式设备中,实现高效的项目开发。 LVGL中文教程手册&#…

心理健康网站

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 管理员功能: 1、管理关于我们、联系我们 2、管理文章类型、添加心理文章 3、审核咨询师注册信息 4、查看咨询…

我的创作纪念日——为什么要写博客

文章目录收获意义憧憬收获 转载和摘抄只是对知识的搜集,不仅不会起到扩充知识体系的作用,反而会让人陷入盲目的自信或者自卑。一些人会把收藏当作底蕴,例如看到一个如何快速学Python的标题,就会逢人说自己会Python;另…

哈夫曼树,哈夫曼编码及应用——(代码实现)

哈夫曼树,哈夫曼编码及应用1.哈夫曼树1.1 什么是哈夫曼树2.如何构造哈夫曼树(哈夫曼算法)2.1 举例实现哈夫曼树2.1.1手动实现具体步骤2.1.2代码实现具体步骤3.哈夫曼编码3.1 什么是哈夫曼编码3.2哈夫曼编码的具体实现END!!!1.哈夫曼树 路径长…

零基础可以学习Python吗?转行小白怎么学Python?

ython学习常用的技巧有这些:一是要明确自己的学习目的;二是从易到难,循序渐进;三是合理的选择资料,有所取舍;四是坚定自己的信念。以下是关于Python学习技巧的具体介绍。 1、明确自己的学习目的 每个人学Python的初衷绝对是不一样的&#xf…

【观察】Akamai:向分布式云迈出坚实一步,让云和边缘“无处不在”

近年来,云正如同日常生活中的水、电那样,融入到社会的各个层面,它不再是一种单纯的架构或者技术,而是千行百业走向数字化的核心基础设施;云也正在变成一种融合剂,无论是大数据、人工智能、物联网等&#xf…

多目标背包问题:MOJAYA求解多目标背包问题(Multi-objective Knapsack Problem,MOKP)提供Matlab代码

一、多目标背包问题 1.1多目标背包问题描述 多目标背包问题(Multi-objective Knapsack Problem,MOKP)是一种重要的组合优化问题,在生活的许多领域都有着十分广泛的应用。多目标背包问题可以描述为:给定一个背包和n种物品,其中&a…

docker-compose安装gogs

1.gogs是什么 Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。 2.准备工作gogs 在安装软…

论文精读:《FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection》

文章目录论文精读摘要(Abstract)1. 介绍(Introduction)2. 相关工作(Related Work)3. 方法(Approach)3.1 框架总览(Framework Overview)3.2 2D引导的多层次3D预测(2D Guided Multi-Le…

【java】javac 相关API JavaCompiler StandardJavaFileManager AbstractProcessor

1.概述 转载并且补充:Java 编译器 javac 笔记:javac API、注解处理 API 与 Lombok 原理 看这个文章之前首先看:【java】java JSR 269 自定义注解实战 Lombok @Data注解 java版本直接调用 javac 是 Java 代码的编译器 [openjdk, oracle ],初学 Java 的时候就应该接触过。…

马上跨年了,如何用代码写一个“跨年倒计时”呢?

前言 大家好,我是陈橘又青,再过两周就是新的一年了,作为一名有仪式感的程序员,今天我们就来制作一个简单的跨年倒计时小网页,祝看到的所有人新年快乐!(附上完整源码,需要的小伙伴自取…

八、Docker 安装Mysql(流程、注意点、实例)

Docker 安装mysql 要不 安装tomcat 稍微复杂些,要配置一些参数,例如mysql密码,配置文件编写等。 1、docker hub上面查找mysql镜像 地址:Docker Hub 可以拉取最新的,也可以按照tag搜索自己想要的版本,拉取 2、从docker hub上拉取mysql5.7镜像到本地 命令:docker pull …

【实时数仓】DWM层设计模式、独立访客(UV)的计算

文章目录一 DWS层与DWM层的设计1 设计思路2 DWS层需求分析二 DWM层-UV计算1 需求分析与思路2 从kafka中读取数据(1)代码实现(2)测试(3)总结3 UV过滤 -- 独立访客计算(1)实现思路&…

Spring+SpringMVC+MP登录案例(含拦截器)

技术框架 后端:Spring、Spring MVC、Mybatis-Plus 前端:HTML、CSS、Layui、JS、Jquery 功能模块技术 1、用户的每一个请求使用了SpringMVC 拦截器技术,没有登录的用户自动重定向到登录页 2、统一请求模式,使用Restful风格对后端…