《Python基础》之数据容器

目录

简介

一、列表(list)

1、介绍

2、特点

3、功能

二、元组(tuple)

1、介绍

2、特点

3、功能

三、字典(dict)

1、介绍

2、特点

3、功能

四、集合(set)

1、介绍

2、特点

3、功能

总结


简介

Python 中有多种数据容器,常见的数据容器有:列表(list)、元组(tuple)、字典(dict)、集合(set),它们用于存储和组织数据,每种容器都有其特点和适用场景。以下是对 Python 中常见数据容器的详细介绍

一、列表(list)

1、介绍

列表是一种有序的可变容器,可以存储不同类型的数据元素,使用方括号 [] 来创建,元素之间用逗号分隔。

my_list = [1,2,3,4,5]
list1 = list()

2、特点

  • 有序性:元素的存储顺序是固定的,可以通过索引(从 0 开始)来访问各个元素,例如 my_list[0] 将获取到列表中的第一个元素 1
  • 可变性:可以对列表中的元素进行修改、替换、删除等操作。
  • 支持多种数据类型混合:能在同一个列表中存放整数、浮点数、字符串、布尔值等不同类型的数据。

3、功能

  • 增加
    • append()
    • # 创建一个空列表
      list1 = []list1.append(100)
      list1.append('hello')
      list1.append('world')
      list1.append(True)
      list1.append('hello')
      list1.append('flink')
      print(f"list1:{list1}") 
      # list1:[100, 'hello', 'world', True, 'hello','flink']
    • extend()
    • list1 = [1, 2, 3, 4]
      list2 = ['a', 'b', 'c']
      list1.extend(list2)
      print(list1)
      # [1, 2, 3, 4, 'a', 'b', 'c']
    • insert()
    • list1 = [1, 2, 3, 4]
      list1.insert(2, 'aaaaaa')
      print(list1)
      # [1, 2, 'aaaaaa', 3, 4]
  • 删除
    • 调用 remove() 函数 在已知要删除元素的值
    • list1 = [11, 22, 33, 44, 55, 66]
      list1.remove(44)
      # list1.remove(100) # 报错
      print(f"list1: {list1}")
      # [11, 22, 33, 55, 66]
    • 调用 pop() 函数 根据索引删除元素,返回被删除元素的值
    • list1 = [11, 22, 33, 44, 55, 66]
      s = list1.pop(3)
      print(f"list1: {list1}")
      print(s)
      # [11, 22, 33, 55, 66]
      # 44
    • 使用 python 内置关键字 del
      list1 = [11, 22, 33, 44, 55, 66]
      del list1[3]
      print(f"list1: {list1}")
      # [11, 22, 33, 55, 66]

  • 修改
    • list1 = [11, 22, 33, 44, 55, 66]
      list1[3] = 100
      print(f"list1: {list1}")
      # list1 : [11, 22, 33, 100, 55, 66]

  • 复制
    • list1 = [11, 22, 33, 44, 55, 66]
      list2 = list1.copy()
      print(list2)
      # [11, 22, 33, 44, 55, 66]
  • 反转
    • list1 = [11, 22, 33, 44, 55, 66]
      list1.reverse()
      print(f"反转后:{list1}")
      # 反转后:[66, 55, 44, 33, 22, 11]
       

二、元组(tuple)

1、介绍

元组也是有序的容器,但它是不可变的,一旦创建,元素就不能被修改,使用圆括号 () 来创建(当元组中只有一个元素时,需要在元素后面添加逗号,如 (1,))。

tup = (1,)
tup1 = tuple()

2、特点

  • 有序性:和列表一样,元素有固定顺序,可通过索引访问。
  • 不可变性:其元素不可以被修改、替换或删除,保证了数据的稳定性,常用于存储一些不希望被改变的数据组合,比如函数返回多个值时,常以元组形式返回。

3、功能

元组具有的功能有索引、切片、计数等,无特殊功能,关键点是元组不可变且有序。

三、字典(dict)

1、介绍

字典是一种无序的键值对(key-value)形式的数据容器,使用花括号 {} 创建,每个键值对之间用逗号分隔,键和值之间用冒号 : 分隔。

my_dict = {"name": "Alice", "age": 25, "city": "New York"}
dict1 = {}

2、特点

  • 无序性:键值对在字典中的存储顺序是不确定的,不能依靠顺序来获取元素。
  • 通过键访问值:可以通过唯一的键来获取对应的值,例如 my_dict["name"] 就能获取到 "Alice" 这个值,键必须是不可变的数据类型(如字符串、数字、元组等),而值可以是任何类型的数据。
  • 可变性:可以对字典中的键值对进行添加、修改、删除等操作,比如 my_dict["age"] = 26 就修改了 "age" 对应的键值。

3、功能

  • 索引

        字典的索引功能与其他数据容器不同,不能依靠索引来获取元素

  • d1 = {'name':'张三', 'age':18, 'likes':['打游戏','看电影','跑步'], 'dog':{'name':'哮
    天犬','age':3}}
    print(d1['age']) # 18
    print(d1['likes'][1]) # 看电影
  • keys()  获取字典中所有的键
  • get()  根据键获取值
  • items()  获取所有的键值对
  • clear()  清空字典中所有的元素
  • pop()  根据键从字典中移除一个键值对,返回一个值

 

四、集合(set)

1、介绍

集合是无序的、不包含重复元素的数据容器,使用花括号 {}来创建(注意:创建空集合时需要使用 set() 函数,因为直接用 {} 创建的是空字典)。

s1 = {1,3,5,6}
s2 = set()

2、特点

  • 无序性:元素没有固定的顺序,所以不能像列表和元组那样通过索引来访问元素。
  • 去重性:会自动去除重复的元素,适合用来对数据进行去重处理。
  • 支持集合运算:例如并集(|)、交集(&)、差集(-)等,像 set1 | set2 可得到两个集合的并集。

3、功能

  • 根据集合会自动去除重复的元素特点,集合常常被用来去除重复元素
  • list1= [11, 22, 33, 45, 6, 1, 1, 22, 33, 45, 11]
    list1 = list(set(list1))
    print(list1)  #[33, 1, 6, 11, 45, 22]

总结

这些数据容器在 Python 编程中被广泛应用,根据不同的需求选择合适的容器类型,可以使代码更加高效、简洁、易于维护。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python Flask指定IP和端口

from flask import Flask, request import uuidimport json import osapp Flask(__name__)app.route(/) def hello_world():return Hello, World!if __name__ __main__:app.run(host0.0.0.0, port5000)

linux ubuntu的脚本知

目录 一、变量的引用 二、判断指定的文件是否存在 三、判断目录是否存在 四、判断最近一次命令执行是否成功 五、一些比较符号 六、"文件"的读取和写入 七、echo打印输出 八、ubuntu切换到root用户 N、其它可以参考的网址 脚本功能强大,用起来也…

C++(进阶) 第1章 继承

C(进阶) 第1章 继承 文章目录 前言一、继承1.什么是继承2.继承的使用 二、继承方式1.private成员变量的(3种继承方式)继承2. private继承方式3.继承基类成员访问⽅式的变化 三、基类和派生类间的转换1.切片 四、 继承中的作⽤域1.隐藏规则&am…

Load-Balanced-Online-OJ(负载均衡式在线OJ)

负载均衡式在线OJ 前言1. 项目介绍2. 所用技术与环境所用技术栈开发环境 3. 项目宏观结构3.1 项目核心模块3.2 项目的宏观结构 4. comm公共模块4.1 日志(log.hpp )4.1.1 日志主要内容4.1.2 日志使用方式4.1.2 日志代码 4.2 工具(util.hpp&…

c++->内部类 匿名对象

内部类&#xff1a;&#xff08;例如&#xff1a;b定义在a类中&#xff09; 注意事项&#xff1a; &#xff08;1&#xff09;内部类b可以直接使用外部类的static变量&#xff0c;但是并不属于外部类的友元&#xff01;&#xff01;&#xff01;&#xff01; #include <s…

C++ std::unique_ptr的使用及源码分析

目录 1.简介 2.使用方法 2.1.创建 unique_ptr 2.2.删除对象 2.3.转移所有权 2.4.自定义删除器 2.5.从函数返回 std::unique_ptr 2.6.将 std::unique_ptr 作为函数参数 3.适用场景 4.与原始指针的区别 5.优缺点 6.源码分析 6.1.构造函数 6.2.存储分析 6.3.默认删…

系统思考—关键决策

最近听到一句话特别扎心&#xff1a;“不是环境毁了企业&#xff0c;而是企业误判了环境。” 在大环境变化面前&#xff0c;很多企业的反应是快速调整&#xff0c;但这真的有效吗&#xff1f;其实&#xff0c;太快的动作&#xff0c;往往是误判的开始。 环境变化带来压力&…

【Java 解释器模式】实现高扩展性的医学专家诊断规则引擎

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…

ES八股相关知识

为什么要使用ElasticSearch&#xff1f;和传统关系数据库&#xff08;如 MySQL&#xff09;有什么不同&#xff1f; 典型回答 数据模型 Elasticsearch 是基于文档的搜索引擎&#xff0c;它使用 JSON 文档来存储数据。在 Elasticsearch 中&#xff0c;相关的数据通常存储在同…

局域网与广域网:探索网络的规模与奥秘(3/10)

一、局域网的特点 局域网覆盖有限的地理范围&#xff0c;通常在几公里以内&#xff0c;具有实现资源共享、服务共享、维护简单、组网开销低等特点&#xff0c;主要传输介质为双绞线&#xff0c;并使用少量的光纤。 局域网一般是方圆几千米以内的区域网络&#xff0c;其特点丰富…

EMD-KPCA-Transformer多变量回归预测!分解+降维+预测!多重创新!直接写核心!

EMD-KPCA-Transformer多变量回归预测&#xff01;分解降维预测&#xff01;多重创新&#xff01;直接写核心&#xff01; 目录 EMD-KPCA-Transformer多变量回归预测&#xff01;分解降维预测&#xff01;多重创新&#xff01;直接写核心&#xff01;效果一览基本介绍程序设计参…

编程之路,从0开始:文件操作(2)

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 今天我们来继续学习C语言的文件操作。 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;编程之路 持续更新高质量内容&#xff0c;欢迎点赞、关注&…

mybatis学习(三)

声明&#xff1a;该内容来源于动力节点&#xff0c;本人在学习mybatis过程中参考该内容&#xff0c;并自己做了部分笔记&#xff0c;但个人觉得本人做的笔记不如动力节点做的好&#xff0c;故使用动力节点的笔记作为后续mybatis的复习。 六、在WEB中应用MyBatis&#xff08;使…

ES6 模块化语法

目录 ES6 模块化语法 分别暴露 统一暴露 ​编辑 默认暴露 ES6 模块化引入方式 ES6 模块化语法 模块功能主要由两个命令构成&#xff1a;export 和 import。 ⚫ export 命令用于规定模块的对外接口&#xff08;哪些数据需要暴露&#xff0c;就在数据前面加上关键字即可…

【Spring boot】微服务项目的搭建整合swagger的fastdfs和demo的编写

文章目录 1. 微服务项目搭建2. 整合 Swagger 信息3. 部署 fastdfsFastDFS安装环境安装开始图片测试FastDFS和nginx整合在Storage上安装nginxnginx安装不成功排查:4. springboot 整合 fastdfs 的demodemo编写1. 微服务项目搭建 版本总结: spring boot: 2.6.13springfox-boot…

无线电磁波在自由空间的衰减

自由空间损耗&#xff0c;指的是电磁波在空气中传播时候的能量损耗&#xff0c;电磁波在穿透任何介质的时候都会有损耗。在传输路径上的损耗&#xff0c;即为路径损耗。 自由空间路径损耗&#xff08;Free Space Path Loss&#xff09;的基本公式&#xff1a; 简化的自由空间损…

UE5实现可销毁对象的淡化销毁

进入对象材质 设置 的不透明蒙版 不透明蒙版见 UE材质不透明蒙版选项-CSDN博客 默认混合模式(不透明)下无法进行设置&#xff0c;将混合模式修改为 混合模式见 UE5材质混合模式-CSDN博客 新添加Texture sample节点 关于Texture sample&#xff1a;UE5材质Texture Sample …

【Linux学习】【Ubuntu入门】1-7 ubuntu下磁盘管理

1.准备一个U盘或者SD卡&#xff08;插上读卡器&#xff09;&#xff0c;将U盘插入主机电脑&#xff0c;右键点击属性&#xff0c;查看U盘的文件系统确保是FAT32格式 2.右键单击ubuntu右下角图标&#xff0c;将U盘与虚拟机连接 参考链接 3. Ubuntu磁盘文件&#xff1a;/dev/s…

文件的处理(c语言)

首先了解下文件的作用 文件可以把数据直接放在电脑的硬盘上&#xff0c;实现了数据的持久化 什么是文件 文件就是磁盘上的文件。在程序设计中&#xff0c;文件通常有俩种&#xff0c;一种是程序文件&#xff0c;另一种是数据文件&#xff08;这是从文件功能来分类的&#xff…

shell编程之awk

awk 是 Linux 以及 UNIX 环境中现有的功能最强大的数据处理工具。简单地讲&#xff0c; awk 是一种处理文本数据的编程语言。awk 的设计使得它非常适合于处理由行和列组成的文本数据。而在 Linux 或者 UNIX 环境中&#xff0c;这种类型的数据是非常普遍的。 除此之外&#xff…