Python学习--字典
>>> a = {1:2,1:3,1:4,2:2}
>>> a
{1: 4, 2: 2}
方法 | 例子 | 说明 |
dict.clear() |
>>> phonebook
{'Lily': '2345', 'Tom': '1234'}
>>> phonebook.clear()
>>> phonebook
{}
|
清除字典中所有的项,无返回值(或者说返回None)。这是个原地操作,即直接操作原始字典。 |
dict.copy() |
>>> x = {'a':1,'b':2,'c':3}
>>> y = x.copy()
>>> y['c']=100
>>> y
{'a': 1, 'c': 100, 'b': 2}
>>> x
{'a': 1, 'c': 3, 'b': 2}
|
返回一个具有相同键-值对的新字典。
但是这个方法是浅复制。当在副本中替换值(例子中的重新赋值)的时候,原始字典不受影响。但是如果是修改某个值(不是替换,是修改,比如删除之类),原始字典也会改变。
|
deepcopy(dict) | 这个是深复制,区别于copy。得到新的副本后,修改不会影响原始字典。 | |
dict.fromkeys() |
>>> dict.fromkeys(['ef','gh'])
{'ef': None, 'gh': None}
|
使用给定的键建立新的字典,每个键都对应一个默认的值None。
返回新的序列。
可以{}.fromkeys(...)或者dict.fromkeys(....)
|
dict.get() |
>>> x
{'ab': '1', 'cd': '2'}
>>> x.get('cd')
'2'
>>> x.get('aa')
>>> print x.get('aa')
None
>>> x.get('aa','N/A')
'N/A'
|
访问字典项的方法,如果不存在,返回None。也可以自己定义找不到的时候返回值。 |
dict.has_key() |
>>> x
{'ab': '1', 'cd': '2'}
>>> x.has_key('ab')
True
>>> x.has_key('ax')
False
|
检查字典中是否含有特定的键。
这个表达式相当于k in d
|
dict.items() |
>>> x
{'ab': '1', 'cd': '2'}
>>> x.items()
[('ab', '1'), ('cd', '2')]
|
将字典的所有项以列表方式返回,列表中每一项表示为(键,值)对的形式,但是返回没有特别的次序。 |
dict.iteritems() |
>>> x
{'ab': '1', 'cd': '2'}
>>> it = x.iteritems()
>>> list(it)
[('ab', '1'), ('cd', '2')]
|
类似ltems的作用,但是返回的是迭代器 |
dict.keys() |
>>> x
{'ab': '1', 'cd': '2'}
>>> x.keys()
['ab', 'cd']
|
将字典的键以列表的方式返回 |
dict.pop() |
>>> x
{'ab': '1', 'cd': '2'}
>>> x.pop('ab')
'1'
>>> x
{'cd': '2'}
|
获得对应于给定键的值,然后将这个键-值对从字典中移除。 |
dict.popitem() |
>>> x
{'gh': '3', 'ab': '1', 'cd': '2'}
>>> x.popitem()
('gh', '3')
>>> x
{'ab': '1', 'cd': '2'}
|
作用类似pop,只是弹出列表中随机的项。 |
dict.setdefault |
>>> x
{'ab': '1', 'cd': '2'}
>>> print x.setdefault('gh')
None
>>> x
{'gh': None, 'ab': '1', 'cd': '2'}
>>> print x.setdefault('ij','N/A')
N/A
>>> x
{'gh': None, 'ab': '1', 'ij': 'N/A', 'cd': '2'}
>>> x.setdefault('ab')
'1'
|
某种程度上类似于get方法。
当键不存在的时候,setdefault返回默认值并且相应的更新字典,默认值是可以选的,也可以自己设定值。。如果键存在,那么就返回与其对应的值,但不改变字典。
|
dict.update() |
>>> y
{'mm': 'haha', 'cd': 'kk'}
>>> x
{'gh': None, 'ab': '1', 'ij': 'N/A', 'cd': '2'}
>>> x.update(y)
>>> x
{'ab': '1', 'mm': 'haha', 'cd': 'kk', 'ij': 'N/A', 'gh': None}
|
利用好一个字典项来更新另外一个字典。提供的字典中的项会被添加到旧的字典中,若有相同的键会进行覆盖 |
d.values()
|
>>> x
{'ab': '1', 'mm': 'haha', 'cd': 'kk', 'ij': 'N/A', 'gh': None}
>>> x.values()
['1', 'haha', 'kk', 'N/A', None]
|
以列表的方式返回字典中的值,返回值的列表中可以包含重复的元素。 |
例子1:
>>> x={}
>>> y=x
>>> x['key']='value'
>>> y
{'key': 'value'}
>>> x={}
>>> y
{'key': 'value'}
|
例子2:
>>> x={}
>>> y=x
>>> x['key']='value'
>>> y
{'key': 'value'}
>>> x.clear()
>>> y
{}
|
Python学习--字典的更多相关文章
- python学习——字典和集合
一.字典 1)字典介绍 字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字.字符串.元组,这种不可变的结构类型也称之为映射.字典类型是Python中唯一內建的映射类型. 1)字典操作 &qu ...
- Python学习字典.基础三
元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组中要定义的元组中只有一个元素需要再元素后面加逗号,用来消除数学歧义.例 t=(1,) ...
- Python学习——字典
字典 字典是另一种可变容器模型,且可存储任意类型对象. 1.创建字典 字典由键和对应值成对组成.每个键与值之间用:隔开,每对之间逗号隔开. 每个键应当互不相同,值可以相同.若同时出现两个相同的键,则后 ...
- Python学习————字典的增删改查
增加:dic1['KEY'] = value -->若之前有KEY,则会覆盖.若没有KEY,则新增至尾处dic.setdefault('KEY',value/None) --->若之前有K ...
- Python学习-字典练习:简单通讯录
功能要求: 查询联系人,输入姓名,可以查询当前通讯录里面的联系人信息,若联系人存在,则输出联系人信息,若不存在,则告知 插入联系人,可以向通讯录中新建联系人,若联系人已经存在,则询问是否修改联系人信息 ...
- Python学习基础笔记(全)
换博客了,还是csdn好一些. Python学习基础笔记 1.Python学习-linux下Python3的安装 2.Python学习-数据类型.运算符.条件语句 3.Python学习-循环语句 4. ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- python学习笔记(一)元组,序列,字典
python学习笔记(一)元组,序列,字典
- Python学习笔记——基础篇2【第三周】——计数器、有序字典、元组、单(双)向队列、深浅拷贝、函数、装饰器
目录 1.Python计数器Counter 2.Python有序字典OrderredDict 3.Python默认字典default 4.python可命名元组namedtuple 5.Python双 ...
随机推荐
- 五年.net程序员转型Java之路
大学毕业后笔者进入一家外企,做企业CRM系统开发,那时候开发效率最高的高级程序语言,毫无疑问是C#.恰逢公司也在扩张,招聘了不少.net程序员,笔者作为应届生,也乐呵呵的加入到.net程序员行列中. ...
- Ionic3学习笔记(二)主题化
本文为原创文章,转载请标明出处 目录 CSS实用属性 文本相关 位置相关 padding & margin 自定义颜色 平台样式 覆写Ionic Sass变量 RTL支持 1. CSS实用属性 ...
- C# 使用FileUpload控件上传图片,将文件转换成二进制进行存储与读取
状况描述: 需要上传文件,但是不想要保存到实体路径下,便可以用该功能来实现. 效果图: 点击[Upload]按钮,上传文件到数据库: 点击[Preview],预览文件: 具体实现: 前台: <t ...
- Telerik RadGridView动态增删行及行列操作
最近使用一直使用第三方控件Telerik,版本 2011 Q1,一直使用显示控件RadGridView,使用起来比DataGird好使, 也发现有控件问题. 1.增行 RadGridView中使用Be ...
- commons-pool与commons-pool2连接池(Hadoop连接池)
commons-pool和commons-pool2是用来建立对象池的框架,提供了一些将对象池化必须要实现的接口和一些默认动作.对象池化之后可以通过pool的概念去管理其生命周期,例如对象的创建,使用 ...
- masonry 设置控件抗压缩及抗拉伸
使用masonry正常设置约束时两个label的显示是下图 添加代码设置蓝色label的抗压缩属性后( [self.missionNameLabel setContentCompressionResi ...
- wpf GifBitmapDecoder 解析 gif 格式
在网上有很多图片都是gif,那么如何在 wpf 解析 gif? 本文告诉大家如何使用 GifBitmapDecoder 把gif分开为一张一张,获得他的信息. 如果需要把一个 gif 分开,使用的代码 ...
- win10 edge扩展
安装红石预览版 https://dev.windows.com/zh-cn/microsoft-edge/extensions/#available-extensions 微软翻译 鼠标手势
- Python+OpenCV图像处理(一)
Python+OpenCV图像处理(一): 读取,写入和展示图片 调用摄像头拍照 调用摄像头录制视频 1. 读取.写入和展示图片 图像读入:cv2.imread() 使用函数cv2.imread() ...
- bootstrap学习之利用CSS属性pointer-events禁用表单控件
参考链接: CSS3 pointer-events:none应用举例及扩展 首先pointer-events在除去SVG中的应用只有两个值:AUTO | NONE pointer-events:non ...