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各个文件及其含义
树状目录结构: 以下是对这些目录的解释: /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令. /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像 ...
- 最新学习springboot 配置注解
一.概述 Spring Boot设计目的是用来简化新Spring应用的初始搭建以及开发过程.Spring Boot并不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式. ...
- swiper一组图片,点击图片出现中间,看效果
好兄弟先看看效果是这样的么 点击哪个头像,头像移动到中间,然后放大,demo上写了五条数据 废话不多说 直接上代码 1.引入swiper.css, swiper.js 2.HTML(小弟做的是移动端的 ...
- Golddata如何采集需要登录/会话的数据?
概要 本文将介绍使用GoldData半自动登录功能,来采集需要登录网站的数据.GoldData半自动登录功能,就是指通过脚本来执行登录,如果需要验证码或者其它内容需要人工输入时,可以通过收发邮件来执行 ...
- 大数据学习--day15(常用类:Date--DateFormat--SimpleDateFormat--File--包装类)
常用类:Date--DateFormat--SimpleDateFormat--File--包装类 这些常用类就不像字符串挖那么深了,只列列用法. 时间处理: /** * 时间处理类 * DateFo ...
- 字符编码——python学习
python学习—字符编码 例如汉字“中” 十进制:20013 二进制:01001110 00101101(unicode)/11100100 10111000 10101101(utf-8) 十六进 ...
- HTTP請求
HTTP[超文本傳輸協議]是因特網上應用最為廣泛的一種網絡傳輸協議,送油的WWW文件都必須遵守這個標準. HTTP是一個基於TCP/IP通信協議來產地數據(html文件,圖片文件,查詢結果等). HT ...
- 安装xml2js出现npm ERR! code E404 npm ERR! 404 Not Found: event-stream@3.3.6
原因是npm源指向的问题 执行: npm config set registry https://registry.npmjs.org/
- vue中-webkit-box-orient:vertical打包放到线上不显示
解决方法: 1.找到build文件夹 下的webpack.prod.conf.js文件 2.注释new OptimizeCSSPlugin({ css ...
- T脚本语言学习记录-工具(一)
1.set & unset %set a Hello ;#定义变量 a 并赋值 =>Hello %puts $a ;#输出变量值 =>Hello %set a “Test Tcl” ...