当前位置: 首页 > news >正文

Python 内置的一些数据结构

文章目录

      • 1. 列表 (List)
      • 2. 元组 (Tuple)
      • 3. 字典 (Dictionary)
      • 4. 集合 (Set)
      • 5. 字符串 (String)


Python 提供了几种内置的数据结构来存储和操作数据,每种都有其独特的特点和用途。下面是一些常用的数据结构及其简要说明:

1. 列表 (List)

列表是一种可变的有序集合,可以存放任意类型的数据。列表中的元素可以通过索引访问,索引从0开始。

特点:

  • 可变性:可以添加、删除或修改元素
  • 异质性:列表中的元素可以是不同类型的数据。
  • 有序性:元素有固定的顺序。

示例:

my_list = [1, "two", 3.0]

2. 元组 (Tuple)

元组也是一种有序集合,但它一旦创建后就不能修改,即它是不可变的。

特点:

  • 不可变性:不能添加、删除或修改元素
  • 异质性:元组中的元素也可以是不同类型的数据。
  • 有序性:元素有固定的顺序

示例:

my_tuple = (1, "two", 3.0)

3. 字典 (Dictionary)

字典是一种可变的无序集合,它通过键值对来存储数据,每个键都唯一对应一个值。

特点:

  • 可变性:可以添加、删除或修改键值对。
  • 键的唯一性:每个键都是唯一的,不允许重复。
  • 无序性:Python 3.7之前,字典的元素是没有顺序的;从Python 3.7开始,由于实现的变化,字典保持了元素插入的顺序。

示例:

my_dict = {"one": 1, "two": 2, "three": 3}

4. 集合 (Set)

集合是一个无序且不包含重复元素的集合。

特点:

  • 无序性:集合中的元素没有固定的顺序。
  • 无重复性:集合内的元素都是唯一的,不允许重复。

示例:

my_set = {1, 2, 3, 3}  # 重复的3会被忽略
print(my_set)  # 输出: {1, 2, 3}

5. 字符串 (String)

虽然字符串通常被认为是基本数据类型,但在很多方面它们也表现得像一个数据结构,因为它们是由字符组成的序列。

特点:

  • 不可变性:字符串一旦创建就不可更改。
  • 有序性:字符串中的字符有固定的顺序。

示例:

my_string = "hello"

以上就是Python中常用的几种数据结构。每种结构都有自己的优势和最佳使用场景,选择合适的数据结构对于编写高效和易于维护的代码至关重要。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • ISAC: Toward Dual-Functional Wireless Networks for 6G and Beyond【论文阅读笔记】
  • 02 Flask-快速上手
  • Docker中的容器内部无法使用vi命令怎么办?
  • 敏捷开发方法例题
  • 说一下解除docker限制内存警告
  • Java中的linkedList类及与ArrayList的异同
  • opencv彩色图像转灰度图原理
  • .net 获取某一天 在当月是 第几周 函数
  • 【go】pprof 性能分析
  • 什么是CPU、GPU、NPU?(包懂+会)
  • 为什么eBay的防IP关联很重要?
  • react | 自学笔记 | 持续更新
  • 深拷贝与数据扁平化封装打开即用
  • java --- 性能优化01
  • Linux:体系结构和操作系统管理
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • HTML5新特性总结
  • Mysql5.6主从复制
  • TCP拥塞控制
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 经典排序算法及其 Java 实现
  • 警报:线上事故之CountDownLatch的威力
  • 跨域
  • 算法-插入排序
  • 我感觉这是史上最牛的防sql注入方法类
  • 学习ES6 变量的解构赋值
  • 阿里云服务器购买完整流程
  • 进程与线程(三)——进程/线程间通信
  • #AngularJS#$sce.trustAsResourceUrl
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (175)FPGA门控时钟技术
  • (ZT)薛涌:谈贫说富
  • (二十四)Flask之flask-session组件
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (南京观海微电子)——示波器使用介绍
  • (算法)大数的进制转换
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • ****三次握手和四次挥手
  • 、写入Shellcode到注册表上线
  • ./configure,make,make install的作用(转)
  • .NET 给NuGet包添加Readme
  • .NetCore部署微服务(二)
  • .NET框架
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @RunWith注解作用
  • [2016.7 test.5] T1
  • [240903] Qwen2-VL: 更清晰地看世界 | Elasticsearch 再次拥抱开源!
  • [ActionScript][AS3]小小笔记
  • [C#]winform制作圆形进度条好用的圆环圆形进度条控件和使用方法
  • [C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法
  • [C/C++]数据结构 深入挖掘环形链表问题
  • [C++] vector对比list deque的引出
  • [IDF]被改错的密码
  • [IE编程] 了解Urlmon.dll和Wininet.dll