字典

Python有一个内建数据类型是字典(Dictionaries)。字典在某些语言中可能称为“联合内存”("associative memories'')或“联合数组”("associative arrays'')。序列是以连续的整数为索引,与此不同的是,字典以关键字为索引,关键字可以是任意不可变类型,通常用字符串或数值。如果元组中只包含字符串和数字,它可以做为关键字,如果它直接或间接的包含了可变对象,就不能当做关键字。不能用链表做关键字,因为链表可以用它们的 append() 和 extend() 方法,或者用切片、或者通过检索变量来即时改变。

理解字典的最佳方式是把它看做无序的关键字:值对( key:value pairs )集合,关键字必须是互不相同的(在同一个字典之内)。一对大括号创建一个空的字典:{}。初始化链表时,在大括号内放置一组逗号分隔的关键字:值对,这也是字典输出的方式。

字典的主要操作是依据关键字来存储和析取值。也可以用del来删除关键字:值对。如果你用一个已经存在的关键字存储值,以前为该关键字分配的值就会被遗忘。试图析取从一个不存在的关键字中读取值会导致错误。

字典的keys() 方法返回由所有关键字组成的链表,该链表的顺序不定(如果你需要它有序,只能调用关键字链表的sort()方法)。使用字典的 has_key() 方法可以检查字典中是否存在某一关键字。

这是一个关于字典应用的小示例:

>>> tel = {'jack': 4098, 'sape': 4139}>>> tel['guido'] = 4127

>>> tel{'sape': 4139, 'guido': 4127, 'jack': 4098}>>> tel['jack']4098

>>> del tel['sape']>>> tel['irv'] = 4127

>>> tel{'guido': 4127, 'irv': 4127, 'jack': 4098}>>> tel.keys()['guido', 'irv', 'jack']>>> tel.has_key('guido')

True

链表中存储关键字-值对元组的话,字典可以从中直接构造。关键字-值对来自一个模式时,可以用链表推导式。简单的表达关键字-值链表。

>>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])

{'sape': 4139, 'jack': 4098, 'guido': 4127}>>> dict([(x, x**2) for x in vec]) #use a list comprehension

{2: 4, 4: 16, 6: 36}

循环技巧

在字典中循环时,关键字和对应的值可以使用 items() 方法同时解读出来。

>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}>>> for k, v inknights.items():

...printk, v

...

gallahad the purerobin the brave

特殊的URL字符串处理:

>>> importurllib>>> importurlparse>>> params = urllib.urlencode({'tbpm':'4','status':'false'})>>>params'status=false&tbpm=4'

python 字典 内存_Python 字典(联合内存、联合数组)相关推荐

  1. python字典拷贝_python字典复制

    python学习系列--深拷贝和浅拷贝 概念 普通情况下,复制一个对象是不会新开辟内存空间的,只是把新的对象名称指向原有的内存地址,这种操作其实不是算是拷贝,只是新的引用.把新的对象置于新的内存空间中 ...

  2. python 字典代码_Python 字典(Dictionary)

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包 ...

  3. python 字典程序_Python 字典(Dictionary)操作详解

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...

  4. python获取字典长度_python字典操作

    python中字典用于存放具有映射关系的数据 字典中的key不能相同 字典中的key必须为不可变类型,所以可以是数.字符串.元组, 但不能是列表 创建字典 通过{}创建 dict1 = {'eric' ...

  5. python编程词典_Python 字典(Dictionary)操作详解

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...

  6. [转载] python 字典查找_python字典的增,删,改,查

    参考链接: Python字典clear() 字典---dict 1.字典是无序,可变的数据类型 2.字典:用于存储数据,存储大量数据,字典要比列表快,将数据和数据之间进行关联 定义一个字典: dic ...

  7. [转载] python单词词典_Python 字典(Dictionary)

    参考链接: Python字典dictionary clear方法 Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>valu ...

  8. python字典成绩_python字典总结

    今天总结一篇关于字典的知识点> 字典也是python提供的一种常用的数据结构,它用于存放具有映射关系的数据 比如成绩表,语文:34,数学:99,如果单纯的使用两个列表保存这组数据,则无法记录两组 ...

  9. python汉语词典_Python 字典(Dictionary)

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...

最新文章

  1. 二分法在算法题中的4种常见应用(cont.)
  2. linux下inotify的使用
  3. mysql性能调优快捷键_mysql优化篇
  4. java实现三位数加减乘除_用Java位运算实现加减乘除四则运算
  5. 百度北京一面2016-3-18
  6. C#基础(201)--常量枚举
  7. 学习路上遇到的Error2
  8. 22课时、19大主题,CS 231n进阶版课程视频上线!
  9. python3.0与2.x之间的区别
  10. 定时器时间动态变化(变速)
  11. 第13章 图像像素采样(《Python趣味创意编程》教学视频)
  12. 没有对比就没有伤害,优秀的代码VS糟糕的代码
  13. 这个爬虫是你五一假期所需要的!
  14. 蓝桥杯历年真题分类汇总(史上最全版本,一定不要错过)
  15. SAO Utils 添加白色参考线
  16. php 爬虫 执行js,使用PyV8在Python爬虫中执行js代码
  17. 论文阅读:普适边缘计算环境下的区块链资源分配与共识
  18. DP动态规划-爬塔(双层dp)
  19. CVPR 2022 | 重新审视池化:你的感受野不是最理想的
  20. 一文让你秒懂场效应晶体管的所有参数

热门文章

  1. 网站使用手机相机_相机拍完照片,如何传到手机上?详细步骤教你使用
  2. 西门子cpu指示灯含义_西门子S7200仿真软件如何使用?
  3. 计算机io接口指令控制,计算机接口及IO指令.ppt
  4. 体验 vue cli 3.0
  5. 利用python脚本(re)抓取美空mm图片
  6. IntelliJ idea 中使用Git
  7. 数据库迁移 编码问题
  8. 2011年2月--2011年7月数据库性能优化过程
  9. mysql多源复制相同数据库名称_mysql数据库多源复制方案
  10. c++ string分割字符串split_python 字符串和文本处理