python字典用法_科学网—Python:字典和字典方法 - 刘洋洋的博文
1 什么是字典(Dictionary)?
字典是Python中唯一内建的映射类型,可以建立对象之间的映射关系。字典的每一个元素可以形成key-value对(键-值对)。
key - 键,可以是数字、字符串、元组等不可变的类型,因而不能是列表!
value - 值,无序的,仅和key有关。
2 创建字典
2.1{}直接创建
>>> aDict = {'a': 0.15, 'b': 0.3, 'c': 0.45}
# 创建一个空字典
>>> Dict0 = {}
2.2 dict()函数
2.3 {}.fromkeys函数
用于生成值相同的字典。
2.4 dict()与zip()函数结合使用
dict(zip(keys, values))
2.5 脚本示例
3 字典的基本操作
键值查找,更新,添加,成员判断,删除字典成员
注:序列通过索引来确定对象,而字典通过键来确定对象。
>>> aDict = {'a': 1, 'b': 2, 'c': {'c': 3, 'd': 4}}
>>> aDict['c']['d']
>>> 4
5 字典作为可变长关键字参数
- 字典可以作为函数的特殊类型参数,如可变长关键字参数。
5 字典的内建函数
dict() - 创建字典
len() - 键值对个数
hash() - 哈希函数,返回对象的哈希值。哈希值是哈希算法生成的一段二进制值,不同的数据具有不同的哈希值。可变的对象是不可哈希的,而不可变的对象是可哈希的,具有哈希值。
6 字典方法
#-----------------------------------------------------------------------
提取字典的键和值 - keys(), values(), get(), setdefault()
#-----------------------------------------------------------------------
keys() - 返回一个列表,元素为字典中所有的key。
Dict1.keys()
values() - 返回一个列表,元素为字典中所有的value。
Dict1.values()
get() - 返回指定键的值,如果键不在字典中,默认无返回值。
Dict1.get(key1, defaults=None)
setdefalut() - 同get()。
Dict1.setdefault(key1, defaults=None)
key1 — 需要被检索的键。强制参数。
注:上例中,‘d’不是aDict的键,若此时运行aDict['d'],程序会因出现异常而终止;而get()则不返回值,且不出现异常,不会终止程序,因而推荐使用get()方法。
#--------------------------------------------------------------------------
判断键是否在字典中 - has_key() 对比: in, not in 操作符
#--------------------------------------------------------------------------
has_key() - 判断键是否存在于字典中,如果键在字典里,返回True,否则返回False。仅存在于Python2!
Dict1.has_key(key1)
key1 — 需要被检索的键。强制参数。
对比:
in - 判断键是否存在于字典中,如果键在字典里,返回True,否则返回False。
not in - 判断键是否不存在于字典中,如果键不在字典里,返回True,否则返回False。
#-----------------------------------------------------------
遍历字典的键值元组 - items() 对比:for 循环
#-----------------------------------------------------------
items() - 以列表返回可遍历的(键, 值) 元组数组。
Dict1.items()
#-------------------------------------------------------------
删除字典的元素 - clear(), pop() 对比: del 语句
#-------------------------------------------------------------
clear() - 清空字典,将原先的字典变为空字典。
Dict1.clear()
pop() - 弹出指定的键值对,并返回字典中指定键的值。修改原字典。
Dict1.pop(key1)
key1 — 被弹出值对应的键。强制参数。
对比:
del 语句 - 删除字典,原先的字典不复存在。也可删除字典中的某个键值对。
del Dict1
del Dict1[key1]
#-------------------------------------------------------
创建新字典 - fromkeys()
#-------------------------------------------------------
fromkeys() - 创建一个新字典,以序列seq中的元素做字典的键,val为字典所有键对应的初始值,默认为None。
{}.fromkeys(seq, val)
seq — 一个序列,其元素为新字典的键。强制参数。
val — 新字典里所有键对应的初始值,若不设置则默认为None。可选参数。
#---------------------------------------------------------------------
更新字典的键值对 - update() 对比:直接添加键值对
#---------------------------------------------------------------------
update() - 把字典Dict2的键值对更新(包括以新换旧和添加)到Dict1中,无返回值。
Dict1.update(Dict2)
Dict2 — 需要被添加和更新到Dict1的字典。强制参数。
对比:
直接添加键值对
Dict1[a_key]=a_value
a_key — 需要被添加到字典Dict1的键。强制参数。
a_value — 需要被添加到字典Dict1的与a_key对应的值。强制参数。
#----------------------------------------------------------------
字典的浅复制 - copy() 对比:对象赋值
#----------------------------------------------------------------
copy() - 返回字典的浅复制。
Dict1.copy()
转载本文请联系原作者获取授权,同时请注明本文来自刘洋洋科学网博客。
链接地址:http://blog.sciencenet.cn/blog-3031432-1060765.html
上一篇:Python:元组
下一篇:Matlab:创建NaN矩阵
python字典用法_科学网—Python:字典和字典方法 - 刘洋洋的博文相关推荐
- python 面板数据分析_科学网—Python中的结构化数据分析利器-Pandas简介 - 郑俊娟的博文...
此文转载于XXXXXX处... Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数 ...
- python读取网站_科学网—python 获取网址 - 林清莹的博文
Python获取网址的内容# coding=utf-8 import urllib url = "http://www.baidu.com" data = urllib.urlop ...
- python 数据去重_科学网—python学习——根据条件提取数据,并去重 - 李立的博文...
[Python字符串提取] 摘要:根据要求进行字符串的提取,并去重 导入分析所需的库import pandas as pd 构造数据集 as1 = pd.DataFrame({'a':[1,2,3,4 ...
- python编程口诀_科学网—Python编程技巧汇总 - 高关胤的博文
正在学习python编程,把一些小技巧记录下来备查 ======================计算技巧========================== 正常的条件语句如下if a>b:c= ...
- python提取句子_科学网—Python提取句子 - 吕波的博文
将一段话中的句子分离出来不是一件容易的事.因为句子的开头和结尾并不是很规则,而且句子内部会出现句号.这使得通过单一的正则表达式分离句子是不可能的.有时你能成功,但大多数时候你会出错.这里我们用nltk ...
- python字母频率_科学网-Python统计字母频数和频率-吕波的博文
方案一 统计字符串中的字母频数 import collections import re d = collections.defaultdict(int) S = "testTypecopy ...
- python离散积分_科学网—python数据处理笔记(三)通道积分图 - 钱磊的博文
通道积分是除了p-v图外又一件分析分子云气体运动的利器.在不同的通道查看,可以看到一些速度不同寻常的气体,这些气体就是恒星形成研究中十分感兴趣的高速气体.这些高速气体对于分子云中的能量平衡以及恒星的形 ...
- python笔记图片_科学网—python数据处理笔记(二)p-v图 - 钱磊的博文
python数据处理笔记(二)p-v图 已有 9903 次阅读 2012-5-24 17:46 |个人分类:知识|系统分类:科研笔记| Python, 分子云, 常用工具, p-v图 p-v图是分析分 ...
- python画箭头_科学网-Python matplotlib quiver—画箭头、风场、量场图-张伟的博文
用像素点坐标画图 箭头关键的一个参数是长度,长度可以通过参数scale来设置,如果你多次使用quiver(),只要保证参数scale一致,那么箭头长度就会与风速 的值成正比,可按照下面我贴出的代码那样 ...
- python语法糖的本质_科学网—Python语法糖之:列表解析、集合解析和字典解析 - 陈同的博文...
Python的列表解析 (list comprehensions)是在Python 2.0以来一直都有的功能,特别简洁.实用.而字典解析虽然曾经在Python 2.3版本中引入过,但后来因为与dict ...
最新文章
- 西瓜创客+Leangoo敏捷实践企业案例分享
- Badread: simulation of error-prone long reads
- android dropbox anr分析,Android如何分析排查ANR
- 简单 3 步实现高效编程
- nlv sqlserver_SQLServer数据类型
- FileProvider N 7.0 升级 安装APK 选择文件 拍照 临时权限 MD
- micropython固件编译_Micropython编译固件的操作步骤
- 天涯明月刀手游服务器维护到几点,天涯明月刀手游11月11日服务器维护更新公告...
- C++模板的概念 定义和使用
- 通过PaddleOCR识别pdf数据
- python用Selenium爬取携程网机票信息
- web 系统发展历程
- 前端效果 -- 实现折叠、展开动画效果
- SCI英文论文写作- Latex 进阶
- python梨视频爬虫下载,反反爬
- 【AI测试】人工智能测试整体介绍
- 漏洞分析丨HEVD-10.TypeConfusing[win7x86]
- 使用final来修饰方法
- 【Python个人学习笔记】--- pyc文件(了解)
- 【文章阅读】The Devil is in the Decoder【计算机视觉中的上采样方式-6种】
热门文章
- 理解Ruby的4种闭包:blocks, Procs, lambdas 和 Methods
- LWUIT的绘图功能
- 66. 编写高效的 JavaScript
- 一个奇怪的发现:html与body,body的margin对html不起作用,html的padding对body却起作用
- css3中3d旋转中rotatex,rotatey,rotatez的旋转正方向
- APT攻防整理-攻击方法/工具
- 利用jmeter做一个简单的性能测试并进行参数化设置
- 2、linux网络编程--无连接与面向连接的区别
- Python——语言基础
- PHP Mysql-简介