python 字典 内存_Python 字典(联合内存、联合数组)
字典
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 字典(联合内存、联合数组)相关推荐
- python字典拷贝_python字典复制
python学习系列--深拷贝和浅拷贝 概念 普通情况下,复制一个对象是不会新开辟内存空间的,只是把新的对象名称指向原有的内存地址,这种操作其实不是算是拷贝,只是新的引用.把新的对象置于新的内存空间中 ...
- python 字典代码_Python 字典(Dictionary)
Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包 ...
- python 字典程序_Python 字典(Dictionary)操作详解
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...
- python获取字典长度_python字典操作
python中字典用于存放具有映射关系的数据 字典中的key不能相同 字典中的key必须为不可变类型,所以可以是数.字符串.元组, 但不能是列表 创建字典 通过{}创建 dict1 = {'eric' ...
- python编程词典_Python 字典(Dictionary)操作详解
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...
- [转载] python 字典查找_python字典的增,删,改,查
参考链接: Python字典clear() 字典---dict 1.字典是无序,可变的数据类型 2.字典:用于存储数据,存储大量数据,字典要比列表快,将数据和数据之间进行关联 定义一个字典: dic ...
- [转载] python单词词典_Python 字典(Dictionary)
参考链接: Python字典dictionary clear方法 Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>valu ...
- python字典成绩_python字典总结
今天总结一篇关于字典的知识点> 字典也是python提供的一种常用的数据结构,它用于存放具有映射关系的数据 比如成绩表,语文:34,数学:99,如果单纯的使用两个列表保存这组数据,则无法记录两组 ...
- python汉语词典_Python 字典(Dictionary)
Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...
最新文章
- 二分法在算法题中的4种常见应用(cont.)
- linux下inotify的使用
- mysql性能调优快捷键_mysql优化篇
- java实现三位数加减乘除_用Java位运算实现加减乘除四则运算
- 百度北京一面2016-3-18
- C#基础(201)--常量枚举
- 学习路上遇到的Error2
- 22课时、19大主题,CS 231n进阶版课程视频上线!
- python3.0与2.x之间的区别
- 定时器时间动态变化(变速)
- 第13章 图像像素采样(《Python趣味创意编程》教学视频)
- 没有对比就没有伤害,优秀的代码VS糟糕的代码
- 这个爬虫是你五一假期所需要的!
- 蓝桥杯历年真题分类汇总(史上最全版本,一定不要错过)
- SAO Utils 添加白色参考线
- php 爬虫 执行js,使用PyV8在Python爬虫中执行js代码
- 论文阅读:普适边缘计算环境下的区块链资源分配与共识
- DP动态规划-爬塔(双层dp)
- CVPR 2022 | 重新审视池化:你的感受野不是最理想的
- 一文让你秒懂场效应晶体管的所有参数
热门文章
- 网站使用手机相机_相机拍完照片,如何传到手机上?详细步骤教你使用
- 西门子cpu指示灯含义_西门子S7200仿真软件如何使用?
- 计算机io接口指令控制,计算机接口及IO指令.ppt
- 体验 vue cli 3.0
- 利用python脚本(re)抓取美空mm图片
- IntelliJ idea 中使用Git
- 数据库迁移 编码问题
- 2011年2月--2011年7月数据库性能优化过程
- mysql多源复制相同数据库名称_mysql数据库多源复制方案
- c++ string分割字符串split_python 字符串和文本处理