字典是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:字典操作总结的更多相关文章

  1. python 字典操作提取key,value

    python 字典操作提取key,value dictionaryName[key] = value 1.为字典增加一项  2.访问字典中的值  3.删除字典中的一项  4.遍历字典  5.字典遍历的 ...

  2. Python字典操作大全

    //2018.11.6 Python字典操作 1.对于python编程里面字典的定义有以下几种方法: >>> a = dict(one=1, two=2, three=3) > ...

  3. python字典操作

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.一.创建字典字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: 代码如下: dict ...

  4. python字典操作和内置方法

    一 字典基本介绍 python中只有字典是映射结构,通过key取值,并且key是不可变数据类型,而value可以是任意数据类型. 字典通过一个花括号,里面存放key:value的数据结构来定义.理论上 ...

  5. python 字典操作

    字典的常用操作: clear 功能:清空字典 dict_li = {'users':'swht','age':'18',} dict_li.clear() 返回结果:dict_li {} copy 功 ...

  6. python字典操作用法总结

    基本语法: dict = {'ob1':'computer', 'ob2':'mouse', 'ob3':'printer'} 技巧: 字典中包含列表:dict={'yangrong':['23',' ...

  7. 第3.5节 丰富的Python字典操作

    一. 基本概念 Python提供一种通过名称来访问其各个值的数据结构,这种数据结构称为映射(mapping).字典(dict)是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下, ...

  8. Python——字典操作

    一.取出字典中所有的key-value student={'name':'xiaoming','age':11,'school':'tsinghua'} for key,value in studen ...

  9. Python字典操作及课后练习

    '''dict,唯一一个映射数据类型数据类型划分:可变数据类型,不可变数据类型不可变数据类型:元组,bool int str(对str的任何改变都是形成了新的str,对原来的str没有改变)可变数据类 ...

  10. python字典操作+文件操作+函数

    师从百测besttest今天老牛教了些函数调用的知识,布置了个作业如下: # 1.写一个商品管理的小程序# 2.商品存在文件里面# 1.添加商品# 输入产品名称.颜色.价格# 要校验商品是否存在,价格 ...

随机推荐

  1. Python中级 —— 06SMTP发送电子邮件

    Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务.(未完)

  2. 嵌入式nand flash详解

    一.s3c2440启动后会将nand flash的前4K程序复制到内部的sram中,这个过程是硬件自动完成的,但是如果我们的程序远远大于4K,这个时候就需要将程序从flash拷贝到内存中来运行了. 二 ...

  3. ARM开发---Keil注册+JLink维修详解

    在ARM开发中,经常使用的开发环境就是Keil uVision集成开发环境+JLink仿真器,本文就是就是介绍.总结使用该开发环境中遇到的问题,并在问题后方附上亲测可行的解决方法.如果各位看官在开发过 ...

  4. ruby 生成随机字符串

    rand(36 ** n).to_s(36) n 等于任意数字

  5. python教程(八)·文件操作

    由于离高考越来越近,博主打算本篇文章过后,暂停本系列教程的更新,等到高考完后再继续本系列教程,请谅解! 这次我们学习用python操作文件,包括文件的读.写等-- 操作文件第一步--打开文件 要想操作 ...

  6. 一个servlet如何处理多个请求

    页面1:表单的action=login?method=login 页面2:表单的action=login?method=insert ..... 然后通过method的值采用不同方法进行处理. 如下 ...

  7. C语言复习20170826

    数组 先定义,再初始化,最后使用. 访问数组中的元素可以采用数组名加下标的方式,下标是从0开始,c并不检查数组下标是否越界,所以在访问数组中的元素时需要注意,需要对数组下标做判断,防止访问数组越界. ...

  8. 21045234黄斐《java程序设计》第四周

    教材学习内容总结 第六章部分 - 继承与多态 何谓继承 继承面向对象中,子类继承父类,避免重复的行为定义.一般来说,父类的父类也称父类,且同一个子类只允许拥有一个父类,而同一个父类则可以拥有多个子类. ...

  9. echarts 去掉最外部边框

    在option中,插入一下代码即可: grid: {show:'true',borderWidth:'0'}, 插入代码前: 插入代码后:

  10. CF543E Listening to Music

    题面 空间只有$64\text{MB}$!!! 题解 (据说正解是毒瘤分块套分块) 按照权值从大到小排序,对所有能够覆盖到它的区间的左端点打个标记 按照值域建一棵主席树就可以了 区间查询最大值,用$m ...