python初步学习-python数据类型-字典(dict)
字典
字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。
注意,你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以不可变或可变的对象作为字典的值。基本说来就是,你应该只使用简单的对象作为键。
创建 dict
方法一
创建一个空的dict,这个空dict,可以在以后向里面加东西用。
>>> mydict = {}
>>> mydict
{}
>>> type(mydict)
<type 'dict'>
>>>
往这个字典中添加元素。
>>> mydict['myname'] = 'ping'
>>> mydict['mysex'] = 'male'
>>> mydict['myweight'] = 120
>>> mydict
{'myname': 'ping', 'myweight': 120, 'mysex': 'male'}
字典是否可以修改?
>>> id(mydict)
94782784
>>> mydict['myhaircolor'] = 'black'
>>> mydict
{'myhaircolor': 'black', 'myname': 'ping', 'myweight': 120, 'mysex': 'male'}
>>> id(mydict)
94782784
答案是 positive
方法二
利用元组在建构字典,方法如下:
>>> name = (["first","Google"],["second","Yahoo"])
>>> website = dict(name)
>>> website
{'second': 'Yahoo', 'first': 'Google'}
或者用这样的方法:
>>> ad = dict(name = "qiwsir", age = 42)
>>> ad
{'age': 42, 'name': 'qiwsir'}
访问dict的值
dict数据类型是以键值对的形式存储数据的,所以,只要知道键,就能得到值。这本质上就是一种映射关系。
既然是映射,就可以通过字典的“键”找到相应的“值”。
>>> mydict
{'myhaircolor': 'black', 'myname': 'ping', 'myweight': 120, 'mysex': 'male'}
>>> mydict['myhaircolor']
'black'
既然dict是键值对的映射,就不用考虑所谓“排序”问题了,只要通过键就能找到值,至于这个键值对位置在哪里就不用考虑了
基本操作
字典虽然跟列表有很大的区别,但是依然有不少类似的地方。它的基本操作:
- len(d),返回字典(d)中的键值对的数量
- d[key],返回字典(d)中的键(key)的值
- d[key]=value,将值(value)赋给字典(d)中的键(key)
- del d[key],删除字典(d)的键(key)项(将该键值对删除)
- key in d,检查字典(d)中是否含有键为key的项
字典方法
- copy
- clear
- get,setdefault
- items/iteritems, keys/iterkeys, values/itervalues
- pop, popitem
- update
- has_key
python初步学习-python数据类型-字典(dict)的更多相关文章
- python初步学习-python数据类型-集合(set)
集合 在已经学过的数据类型中: 能够索引的,如list/str,其中的元素可以重复 可变的,如list/dict,即其中的元素/键值对可以原地修改 不可变的,如str/int,即不能进行原地修改 无索 ...
- python初步学习-python 模块之 json
json 模块 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写.一般API返回的数据大多是 JSON.XML,如果返回JSON的话,将获取 ...
- python初步学习-python函数(一)
python 函数 函数是组织好的,可重复使用的,用来实现单一或者相关联功能的代码段. 函数能提高应用的模块性和代码的重复利用率. 函数定义 python中函数定义有一些简单的规则: 函数代码块以de ...
- python初步学习-python数据类型-列表(list)
列表 list 在 python 中具有非常强大的功能 定义 在python中,用方括号表示一个list:[] 在方括号里面,可以是 int,也可以是 str类型的数据,甚至也可以是Flase/Tru ...
- python初步学习-python数据类型之strings(字符串)
数据类型-字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号(''或者"")来创建字符串 var1 = 'Hello World!' var2 = "P ...
- python初步学习-python数据类型之number(数值)
数据类型之 Number python number 数据类型用于存储数值. 数据类型是不容许改变的. 这就意味着如果改变 number 数据类型的值,将重新分配内存空间. python支持四种不同数 ...
- python初步学习-python控制流
语句书写规范 缩进在python语言书写中非常重要,如果缩进不规范,执行程序将会报错 引用维基百科中的叙述: Python開發者有意讓違反了縮排規則的程序不能通過編譯,以此來強迫程序員養成良好的編程習 ...
- python初步学习-python文件操作
文件 文件,在python中,他是一种类型的对象,类似前面已经学过的其他数据类型,包括文本的.图片的.音频的.视频的等等,还有不少没见过的扩展名的.事实上,在linux操作系统中,所有的东西都被保存到 ...
- python初步学习-Python模块之 re
re 正则表达式 python正则表达式在线检验网站 python re正则表达式语法 匹配字符 语法 解释 表达式 匹配实例 . 匹配任意除"\n"以外的任何字符 a.c abc ...
随机推荐
- wine update错误 "the cache has no package" error when wine update is available
网址:https://bugs.launchpad.net/pipelight/+bug/1318321/
- Maven jeetsite项目 搭建
, 一直没有系统的总结一下Maven的知识,今天,想从网上找一个Maven的项目,练练手,顺便学习一下maven的原理 和布局. 官网:http://www.jeesite.com/ 没想到,上来就给 ...
- Bootstrap 轮播图的使用和理解
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...
- opencv 和 parfor
一次遇到两个不熟悉的,因此在一起记一下. OpenCV的全称是:Open Source Computer Vision Library. OpenCv是一个基于(开源)发行的跨平台计算机视觉库,可以运 ...
- 【bzoj3132】上帝造题的七分钟 二维树状数组区间修改区间查询
题目描述 “第一分钟,X说,要有矩阵,于是便有了一个里面写满了0的n×m矩阵. 第二分钟,L说,要能修改,于是便有了将左上角为(a,b),右下角为(c,d)的一个矩形区域内的全部数字加上一个值的操作. ...
- SP263 PERIOD - Period
题目描述 For each prefix of a given string S with N characters (each character has an ASCII code between ...
- Select-poll-epoll-简介
1. Python的select()方法直接调用操作系统的IO接口,它监控sockets,open files, and pipes(所有带fileno()方法的文件句柄)何时变成readable 和 ...
- [NOI.AC省选模拟赛3.31] 附耳而至 [平面图+最小割]
题面 传送门 思路 其实就是很明显的平面图模型. 不咕咕咕的平面图学习笔记 用最左转线求出对偶图的点,以及原图中每个边两侧的点是谁 建立网络流图: 源点连接至每一个对偶图点,权值为这个区域的光明能量 ...
- [NOI2017]蔬菜 贪心
题面: [NOI2017]蔬菜 题解: 首先每天蔬菜会变质这点并不好处理,我们考虑让时间倒流,从后向前处理,这样的话就相当于每天都会得到一定量的蔬菜. 这样做有什么好处呢? 我们可以发现一个性质:如果 ...
- 【BZOJ5297】【CQOI2018】社交网络(矩阵树定理)
[BZOJ5297][CQOI2018]社交网络(矩阵树定理) 题面 BZOJ 洛谷 Description 当今社会,在社交网络上看朋友的消息已经成为许多人生活的一部分.通常,一个用户在社交网络上发 ...