生成器推导式创建元组:,生成器推导式与列表推导式类似,只是生成器推导式使用小括号。不管什么方式使用,元素访问结束后,如果需要重新访问其中的元素,必须重新创建该生成器对象。

元组特点:1、不可变序列 2、元组的访问和处理速度比列表快 3、与整数和字符串一样,元组可以作为字典的键,列表永远不能作为字典的键使用。

字典:“键值对”包含键对象和值对象,“键”是任意的不可变数据,比如:整数、浮点数、字符串、元组。字典中通过键对象找到对应的值对象。

字典的创建:1、dict() 2、{} 3、zip() 4、通过fromkeys 创建值为空的字典

>>> a = dict.fromkeys(['name','age','job'])

字典元素的访问:1、通过键获得值,若键不存在,则抛异常! 2、get()方法获得值,有电是键不存在,返回None,也可以设置指定的返回对象。如a.get(‘age’,’不存在’) 3、列出所有的键值对,a.items() 4、列出所有的键或值 a.keys() a.values()

5、len()键值对的个数 6、检测一个“键”是否在字典中,’name’ in a

字典元素的添加、修改、删除:1、新增“键值对”,若已存在,则覆盖旧的键值对。否则新增。 2、update()将字典中所有的键值对全部添加到旧字典对象上,若key有重复,则覆盖。

字典中元素的删除,可以使用del()方法,或者clear()删除所有的键值对,pop()删除指定

键值对,并返回对应的“值对象”;

字典是“无序可变序列”,可用popitem()随机删除和返回该键值对。

序列解包用于元组、列表、字典。对字典解包,分三种情况。对键解包,对键值解包,对值解包。

字典核心底层原理:其核心是散列表,是一个稀疏数组,每个数组单元叫bucket,其包含两个部分,一个是键对象的引用,一个是值对象的引用。偏移量也就是次方的意思,2的3次方是8,2的6次方是32。

python 会根据散列表的拥挤程度扩容。“扩容”指的是:创造更大的数组,将原有内容

拷贝到新数组中。接近2/3 时,数组就会扩容。

取出键值对的过程如下:

用法总结:1、键必须可散列(数字、字符串、元组)2、自定义对象需要支持下面三点(1、支持hash()函数 2、支持通过__eq__()方法检测相等性 3、若a == b为真,则hash(a)==hash(b)也为真)

3、字典在内存中开销巨大,典型的空间换时间。 4、键查询速度较快 5、字典可能存在扩容,导致散列表中键的次序变化,因此不要再遍历字典的同时进行字典的修改。

集合:无序可变,元素不能重复,实际是字典实现,集合中所有的元素都是字典中的键对象。

集合创建和删除:del只是删除一个对象的引用而已,并不是删除其内存。1、用{}进行创建,用add()添加元素 2、使用set(),将可迭代对象变成集合 3、remove()删除指定元素 5、clear()清空整个集合

集合相关操作:并、交、差

以a创建name整个键值对为例

假设数据长度为8的话,示意图如下

处理字典值是把字典放内存还是用sql处理_python基础~元祖与字典原理相关推荐

  1. 习题元祖与字典的值交换

    习题元祖与字典的值交换 交换值: a,b = 1,2      相当于 a.b=(1,2)  右边是一个元组,a,b 将元祖(1,2)解包成 a=1,b=2 >>> a,b=1,2 ...

  2. [Python基础]列表、元祖和字典

    本文参考链接和大神作者不详,知道的可留言链接.之前在网上下到的笔记,整理的很详细,本文有个人轻微修改(本人实践于Python3.x). 2.x和3.x的print使用方式不一样,这里不做太多针对版本的 ...

  3. python元祖组成字典_Python之旅第四天(列表、元祖、字典和习题)

    第四天,感觉时间还是过得很快,今天内容确实有点多,关于list的方法实在是太多了,元组tuple感觉有点鸡肋,可能得到后面才知道他的作用吧,然后是字典,看了很多关于字典的介绍,但是这货到底是干啥用的一 ...

  4. python中元祖 字典 列表的区别_Python中元祖,列表,字典的区别

    原博文 2016-08-16 15:25 − Python中有3种內建的数据结构:列表.元祖和字典: 1.列表 list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目. 列表中的 ...

  5. python 字典 列表 元祖_Python基础之列表、元祖、字典、集合,你都知道吗?附视频...

    前言 Python作为目前最火的编程语言之一,是一门解释型的高级编程语言,特点是简单明确.今天我们来简单介绍一下其中的列表.元祖.字典和集合,希望大家多多讨论. 列表(list) 具有以下特点: 1. ...

  6. Python数据类型——整型、布尔型、列表、元祖、字典

    Python解释器可以自动识别用户输入的数据类型.创建对象的数据类型,可以通过type查看.需要注意的是:用户通过input输入的数据,其类型均为字符串 num1 = input("plea ...

  7. python判断字符串在元祖_Python基础(2)——字典、元祖、字符串方法、非空即真、文件...

    目录: 一.字典 二.元祖 三.字符串方法.切片 四.非空即真,非0即真 五.文件 正文 一.字典 字典 d = { 'username':'xiaohei', 'id':1, 'grand':'天马 ...

  8. python元祖组成字典_Python基础之元组和字典

    一.元组: 1.定义: 内存图: 2.基本操作 3.元组作用: 4.元组基础知识代码 # 1. 创建空元组 t01=() t02=tuple() #2. 创建具有默认值的元组 t01= (1,2,3) ...

  9. 03 循环、字符串、列表、元祖、字典

    文章目录 前言 循环 for 循环 ​break 和 continue 容器 字符串 定义 下标 切片 字符串的查找方法 find 字符串的替换方法 replace 字符串的拆分 split 字符串的 ...

最新文章

  1. 2022-2028年中国房地产金融行业投资分析及前景预测报告
  2. 单片机按键控制数码管c语言程序,基于单片机的按键控制LED数码管共阴极动态显示电路设计报告(毕业论文).doc...
  3. springmvc拦截器配置
  4. java文件下载的utils_Java文件操作Utils
  5. CentOS设置服务开机自动启动【转】
  6. jQuery源码研究分析学习笔记-jQuery.buildFragment()(六)
  7. RPC 和 RESTful对比
  8. .vb和.cs文件编译成.dll文件
  9. c语言除法的ns流程图,ns流程图(c语言ns流程图怎么画)
  10. DOSBOX常用快捷键DEBUG指令
  11. (Spring+SpringMVC+mybatis)SSM选课管理系统/课程管理系统 完整项目介绍
  12. Building Coder(Revit 二次开发) - 空闲事件(Idling Event)增强和外部事件(External Event)
  13. 色环电阻的电阻值大小的确定
  14. SQL Server电影院数据库管理系统【英文版-源码】--(Movie Theatre Management System Database)
  15. python做一个登录注册界面_python做一个登录注册界面的方法
  16. Axure交互之部件行为
  17. 干货|如何用开放性来做管理
  18. 计算机操作系统属于硬件系统吗,操作系统属于计算机的硬件系统吗
  19. VIP服务器间转送文件,vip服务器
  20. 详解kerberos认证原理

热门文章

  1. python植树问题代码_BERT可以上几年级了?Seq2Seq“硬刚”小学数学应用题
  2. JAVA基础之JDK、JRE、JVM关系
  3. Android7.0以后的ninja编译系统
  4. C++多态虚函数/纯虚函数demo
  5. SpringBoot之打包错误
  6. resiprocate 之repro注册
  7. 人脸方向学习(十九):Face Landmark Detection-SBR-解读
  8. python md5加密_如何用python“优雅”的调用有道翻译?
  9. win10软件拒绝访问删不掉_谷歌工程师正在解决Windows 10防病毒软件导致谷歌浏览器不稳定问题...
  10. python 做服务程序_windows平台把python程序制作成windows服务并开机启动(实践的坑)...