Python:字典操作总结
字典是Python中唯一的映射类型
[注]:字典中数据是无序排放的
一、字典的创建方法
方法1:用大括号包裹键值对从而创建字典
addict={}#创建一个空字典
addict={key1:value1,key2:value2,...}
方法2:利用内建函数dict()来创建字典
(1)利用dict()创建空字典
d=dict() #创建空字典
(2)利用dict()以传入关键字的方式创建字典
user=dict(name='Tomwenxing',age='',job='student',salary='')
print(user)

(3)利用dict()以映射函数的方式创建字典
location=dict(zip(['nation','province','city'],['China','ZheJiang','HangZhou']))
print(location)

(4)利用dict以可迭代对象的方式创建字典
message=dict([('name','Tomwenxing'),('sex','male'),('job','student')])
print(message)

方法三:利用dict.fromkeys()来创建字典
语法:dict.fromkeys(seq[,value])
[说明]:
(1)fromkeys()方法用于创建一个新的字典,以序列seq中元素做字典的键值,value为字典所有键对应的初始值
(2)seq——字典键值列表或元组
value——可选参数,设置键序列seq的值,默认为None
seq=('name','age','job','salary')
d=dict.fromkeys(seq)
print(d)

seq=('name','age','job','salary')
d=dict.fromkeys(seq,20000)
print(d)

二、字典的基本操作
Question1:如何访问字典dict中的值
Answer:dict[key]形式返回key对应的value,如果key不存在则会在字典中引发一个KeyError
Question2:如何检查key是否在字典dict中
Answer:
a、用dict.has_key(key)方法,若key在字典dic中返回True,否则返回False(Python 3.X 里不包含 has_key() 函数,被 __contains__(key) 替代)
b、用in或not in 来判断
Question3:如何更新字典dict
question3-1:如何在字典dict中添加一个新的键值对
answer:以dict[new_key]=new_value的形式向字典中添加新的键值对
question3-2:如何在字典dict中更新一个键值对
answer:以dict[old_key]=new_value的形式更新字典中的键值对
question3-3:如何在字典dict中删除一个键值对
answer:
a、del dict[key]删除字典中键为key的项/del dict删除整个字典
b、dict.pop(key)删除字典中键为key的项并返回key对应的value值
三、字典的相关操作
A、内建函数对字典的操作
1.len():返回字典的长度
2.hash():返回对象的哈希值,可以用来判断一个对象是否用来作为字典的键
3.dict():工厂函数,用来创建字典
B、字典的方法
1.dict.copy():返回一个字典的浅拷贝副本
2.dict.clear():删除字典中的所有项或元素
3.dict.fromkeys(seq,val=None):创建并返回一个新字典,以seq中的元素做该字典的键,value做该字典中所有键对应的初始值(默认为None)
4.dict.get(key,default=None):返回字典中key对应的值,若key不存在于字典中,则返回default的值(默认为None)
user={'name':'Tomewenxing','age':'','job':'student','sex':'male'}
print(user.get('name')) #返回键name对应的value值
print(user.get('girlfriend')) #默认返回None
print(user.get('salary',20000000))#返回参数default的值

5.dict.items():返回一个包含所有(键,值)元组的列表
user={'name':'Tomewenxing','age':'','job':'student','sex':'male'}
print(user.items())

6.dict.keys():返回一个包含字典所有key的列表
user={'name':'Tomewenxing','age':'','job':'student','sex':'male'}
print(user.keys())

7.dict.pop(key[,default]):和get方法相似。如果字典中存在key,就删除并返回key对应的value;如果key不存在,并且没有给出default的值,则引发keyerror异常
user={'name':'Tomewenxing','age':'','job':'student','sex':'male'}
print(user.pop('sex'))
print(user)
print(user.pop('sex','male'))
print(user.pop('sex')) #错误,引发keyerror异常

8.dict.popitem():随机返回并删除字典中的一对键和值;如果字典已经为空了,却调用此方法,就报keyerror异常
[注]:以(key,value)的形式返回键值对
9.dict.setdefault(key,default=None):和get方法相似。如果键key不存在于字典中,则会添加键并将键对应的value值设为参数default的值;如果key已经存在了,则没有任何影响
[注]:key——查找的键值
default——键不存在时,设置的默认键值
user={'name':'Tomewenxing','age':'','job':'student','sex':'male'}
user.setdefault('name','Tom')
user.setdefault('salary',200000)
print(user)

10.dict.update(dict2):将字典dict2的键值对更新到字典dict中
user={'name':'Tomewenxing','age':'','job':'student','sex':'male'}
user_add={'salary':2000000,'girlfriend':None}
user.update(user_add)
print(user)

11.dict.values():返回一个包含字典所有value的列表
12.dict.has_key(key):用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false
[特别注意]: Python 3.X 里不包含 has_key() 函数,被 __contains__(key) 替代
user={'name':'Tomwenxing','age':'','job':'student','sex':'male'}
print(user.__contains__('name'))
print(user.__contains__('salary'))

四、字典使用的注意事项
1、在字典中不允许一键对应多个值
2、字典的键值必须是可哈希的。
Python:字典操作总结的更多相关文章
- python 字典操作提取key,value
python 字典操作提取key,value dictionaryName[key] = value 1.为字典增加一项 2.访问字典中的值 3.删除字典中的一项 4.遍历字典 5.字典遍历的 ...
- Python字典操作大全
//2018.11.6 Python字典操作 1.对于python编程里面字典的定义有以下几种方法: >>> a = dict(one=1, two=2, three=3) > ...
- python字典操作
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.一.创建字典字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: 代码如下: dict ...
- python字典操作和内置方法
一 字典基本介绍 python中只有字典是映射结构,通过key取值,并且key是不可变数据类型,而value可以是任意数据类型. 字典通过一个花括号,里面存放key:value的数据结构来定义.理论上 ...
- python 字典操作
字典的常用操作: clear 功能:清空字典 dict_li = {'users':'swht','age':'18',} dict_li.clear() 返回结果:dict_li {} copy 功 ...
- python字典操作用法总结
基本语法: dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'} 技巧: 字典中包含列表:dict={'yangrong':['23',' ...
- 第3.5节 丰富的Python字典操作
一. 基本概念 Python提供一种通过名称来访问其各个值的数据结构,这种数据结构称为映射(mapping).字典(dict)是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下, ...
- Python——字典操作
一.取出字典中所有的key-value student={'name':'xiaoming','age':11,'school':'tsinghua'} for key,value in studen ...
- Python字典操作及课后练习
'''dict,唯一一个映射数据类型数据类型划分:可变数据类型,不可变数据类型不可变数据类型:元组,bool int str(对str的任何改变都是形成了新的str,对原来的str没有改变)可变数据类 ...
- python字典操作+文件操作+函数
师从百测besttest今天老牛教了些函数调用的知识,布置了个作业如下: # 1.写一个商品管理的小程序# 2.商品存在文件里面# 1.添加商品# 输入产品名称.颜色.价格# 要校验商品是否存在,价格 ...
随机推荐
- Linux常用命令拾遗
查看端口对应的程序: netstat -nlap | grep 5004 输出: tcp 0 0 192.168.3.000:5004 192.118.201.00:50800 ESTABLISHED ...
- 浏览器内置http抓包工具软件
使用 360极速浏览器抓取HTTP的 请求头 与 响应头: *** 从 工具--->开发人员工具(F12) 或者 直接按下 F12键,打开抓包工具: **** 按下F5刷新: 双击其中的 Nam ...
- 有限差分法解矩形波导内场值、截止频率 MATLAB
利用有限差分法,解矩形波导内场解和截止频率: 这里以解TM11模为例,利用双重迭代法,每4次场值,更新一次Kc: %% % 求矩形波导中TM11模 截面内场分布.截止频率kc和特性阻抗Zc % // ...
- 20155226 2016-2017-2 《Java程序设计》第3周学习总结
20155226 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 认识对象 类类型 Java可区分为基本类型和类类型两大类型系统,其中类类型也称为参考类型.s ...
- mycp 补交作业
老师好:我昨天做完时已经是11点多了,错过了提交时间,希望用此篇博客弥补一下我的过失. import java.io.; import java.lang.; import java.util.Sca ...
- 20155322 2016-2017-2 《Java程序设计》实验二《Java面向对象程序设计》
20155322 2016-2017-2 <Java程序设计>实验二<Java面向对象程序设计> 实验目的与内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承 ...
- 优步UBER司机全国各地奖励政策汇总:北京、上海、广州、深圳、佛山、天津、南京、武汉、成都、重庆、济南、西安、宁波、青岛、长沙、苏州
Uber当周奖励政策 当前奖励包括:高峰翻倍奖励.行程奖励.金牌司机奖励 获得任何奖励的前提条件: 当周评分高于4.7分,当周成单率高于45%,且当周完成至少5单(含5单) 滴滴快车单单2.5倍,注册 ...
- 【LG4067】[SDOI2016]储能表
[LG4067][SDOI2016]储能表 题面 洛谷 题解 这种$n$.$m$出奇的大的题目一看就是数位$dp$啦 其实就是用一下数位$dp$的套路 设$f[o][n][m][k]$表示当前做到第$ ...
- 安装支持elasticsearch使用sql查询插件
一.ElasticSearch-SQL介绍 ElasticSearch-SQL(后续简称es-sql)是ElasticSearch的一个插件,提供了es 的类sql查询的相关接口.支持绝大多数的sql ...
- 带偏移量的AES加密工具
自定义的一个对称加密工具类AESUtil.java public static final String ENCRYPTION_ALGORITHM = "AES"; public ...