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.添加商品# 输入产品名称.颜色.价格# 要校验商品是否存在,价格 ...
随机推荐
- Python中级 —— 06SMTP发送电子邮件
Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务.(未完)
- 嵌入式nand flash详解
一.s3c2440启动后会将nand flash的前4K程序复制到内部的sram中,这个过程是硬件自动完成的,但是如果我们的程序远远大于4K,这个时候就需要将程序从flash拷贝到内存中来运行了. 二 ...
- ARM开发---Keil注册+JLink维修详解
在ARM开发中,经常使用的开发环境就是Keil uVision集成开发环境+JLink仿真器,本文就是就是介绍.总结使用该开发环境中遇到的问题,并在问题后方附上亲测可行的解决方法.如果各位看官在开发过 ...
- ruby 生成随机字符串
rand(36 ** n).to_s(36) n 等于任意数字
- python教程(八)·文件操作
由于离高考越来越近,博主打算本篇文章过后,暂停本系列教程的更新,等到高考完后再继续本系列教程,请谅解! 这次我们学习用python操作文件,包括文件的读.写等-- 操作文件第一步--打开文件 要想操作 ...
- 一个servlet如何处理多个请求
页面1:表单的action=login?method=login 页面2:表单的action=login?method=insert ..... 然后通过method的值采用不同方法进行处理. 如下 ...
- C语言复习20170826
数组 先定义,再初始化,最后使用. 访问数组中的元素可以采用数组名加下标的方式,下标是从0开始,c并不检查数组下标是否越界,所以在访问数组中的元素时需要注意,需要对数组下标做判断,防止访问数组越界. ...
- 21045234黄斐《java程序设计》第四周
教材学习内容总结 第六章部分 - 继承与多态 何谓继承 继承面向对象中,子类继承父类,避免重复的行为定义.一般来说,父类的父类也称父类,且同一个子类只允许拥有一个父类,而同一个父类则可以拥有多个子类. ...
- echarts 去掉最外部边框
在option中,插入一下代码即可: grid: {show:'true',borderWidth:'0'}, 插入代码前: 插入代码后:
- CF543E Listening to Music
题面 空间只有$64\text{MB}$!!! 题解 (据说正解是毒瘤分块套分块) 按照权值从大到小排序,对所有能够覆盖到它的区间的左端点打个标记 按照值域建一棵主席树就可以了 区间查询最大值,用$m ...