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

字典和列表的区别,字符串、列表、元组、字典、集合的区别

 

字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

字符串

特性:不能修改的字符序列。除了不能修改,可把字符串当成列表一样处理。

访问:访问字符串中某个字符同访问元组或列表中的元素是一样的,专业术语叫“分片(slicing)”。

例:

str = "aString",str[0] = "a",str[1] = "S"。
这里不做深入讨论字符串,把字符串放在这里主要是为了说明字符串具备列表的一些特点。

列表(list)

什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单。比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单。由于我们买一种东西可能不止一次,所以清单中是允许有重复项的。如果我们扩大清单的范围,统计我们过去一周所有的花费情况,那么这也是一个清单,但这个清单里会有类别不同的项,比如我们买东西是一种花费,交水电费也是一种花费,这些项的类型是可以使不同的。python的列表个跟清单的道理是一样的,特点就是:可重复,类型可不同。类型不同也是跟数组最本质的区别了。python里的列表用“[]”表示。

列表是可变对象,它支持在原处修改的操作.也可以通过指定的索引和分片获取元素。

区别于元组,可动态增加,删除,更新。

可以和字符串作为比较。因为字符串具备列表的一些特点。

元组(tuple)

元组和列表在结构上没有什么区别,唯一的差异在于元组是只读的,不能修改。元组用“()”表示。

元组一旦定义其长度和内容都是固定的。

一旦创建元组,则这个元组就不能被修改,即不能对元组进行更新、增加、删除操作。

若想创建包含一个元素的元组,则必须在该元素后面加逗号“,”,否则创建的不是一个元组,而是一个字符串。

例如:

如:aTuple = ("one",),aString = ("one")。type(aTuple) -> "tuple",type(aString) ->"string"。
集合(set)

集合就是我们数学学的集合,没有什么特殊的定义。集合最好的应用是去重。所以,集合内的元素没有重复的元素。

集合没有特殊的表示方法,而是通过一个set函数转换成集合。

集合是一个无序不重复元素集,基本功能包括关系测试和消除重复元素.。

由于集合是无序的。所以,sets 不支持 索引, 分片,或其它类序列(sequence-like)的操作。

字典(dict)

字典存储键值对数据。

字典最外面用大括号,每一组用冒号连起来,然后各组用逗号隔开。

字典最大的价值是查询,通过键,查找值。
 

相关文章:

  • 平衡搜索树的左单旋、右单旋、左右双旋、右左双旋
  • 二叉查找树(BST)、平衡二叉树(AVL树) 右单旋: 左单旋: 左右双旋: 右左双旋: AVL树查找成功失败计算
  • 树的定义和树的三种存储结构
  • 转置矩阵: 正交矩阵: 阶梯形矩阵 行简化阶梯形矩阵 行最简形矩阵 伴随矩阵的列排问题: 求二阶伴随矩阵简单例子
  • 理解逆矩阵 理解单位矩阵
  • 余子式和余子式 伴随矩阵定义 性质 二阶矩阵求伴随矩阵 伴随矩阵理解(列排)
  • 正交矩阵; 实对称矩阵; 为什么实对称矩阵一定可以对角化; AB=0 r(A)+r(B)<=n 证明; 初等矩阵; 初等矩阵的逆矩阵; 矩阵的左除右除;
  • 矩阵与行列式的区别 行列式简单理解(二三阶)
  • C++ 数学运算, cmath
  • C++中,float double区别
  • setw()函数使用,#include iomanip ——using std::setw;
  • 简单理解数组指针和指针数组
  • 有关指针的基础知识(指针定义和使用) 详解二维数组与指针、指针数组、数组指针
  • 结果真的不是最重要的,过程,体验这个过程,并且持续下去
  • Android Studio Gradle文件解释其作用
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【comparator, comparable】小总结
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 2017 年终总结 —— 在路上
  • js算法-归并排序(merge_sort)
  • JS题目及答案整理
  • MQ框架的比较
  • python 装饰器(一)
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 记一次和乔布斯合作最难忘的经历
  • 深度学习入门:10门免费线上课程推荐
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 赢得Docker挑战最佳实践
  • 用简单代码看卷积组块发展
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 白色的风信子
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​Java并发新构件之Exchanger
  • ​用户画像从0到100的构建思路
  • "无招胜有招"nbsp;史上最全的互…
  • #13 yum、编译安装与sed命令的使用
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (HAL库版)freeRTOS移植STMF103
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (定时器/计数器)中断系统(详解与使用)
  • (二)c52学习之旅-简单了解单片机
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (过滤器)Filter和(监听器)listener
  • (汇总)os模块以及shutil模块对文件的操作
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)visual stdio 书签功能介绍
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .net Signalr 使用笔记
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • /bin/rm: 参数列表过长"的解决办法