字典是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. SQL分页过多时, 如何优化

    问题: 我们经常会使用到分页操作,这里有个问题,在偏移量非常大的时候,它会导致MySQL扫描大量不需要的行然后再抛弃掉.如: , ; 上述这条SQL语句需要查询10020条记录然后只返回最后20条.前 ...

  2. Redis(一):NoSQL入门和概述

    NoSQL入门和概述目录导航: NoSQL入门概述 3V+3高 当下的NoSQL经典应用 NoSQL数据模型简介 NoSQL数据库的四大分类 在分布式数据库中CAP原理CAP+BASE NoSQL 入 ...

  3. Redis 之武林大会 - 哨兵(Sentinel)

    前言 Redis在出从复制的模式下,一旦主节点由于故障不能提供服务,需要人工降从节点晋升为主节点,同时还要通知应用方更新主节点的地址,在很多应用场景下,这样的故障处理方式是无法被接受的.不过幸运的是R ...

  4. PHP中的递增/递减运算符

    看这段代码 <?php $a=10; $b=++$a; //此语句等同于 ; $a=$a+1 ; $b=$a echo $a."<br>"; echo $b; ? ...

  5. 树莓派3B+学习笔记:6、安装TeamViewer

    TeamViewer是一个远程控制软件,它可以在任何防火墙和NAT代理的后台实现桌面共享和文件传输,界面简洁,操作简单,不需要专业知识就可轻松上手. TeamViewer电脑端下载网址www.team ...

  6. docker 容器模式下部署mysql 主从复制

    1.计划用两台host来部署,分别部署一台 mysql,一主一从,2.配置好主从mysql配置文件,更改文件名即可[client]port = 3306socket = /var/run/mysqld ...

  7. C语言——第一章,程序设计和C语言

    第一章,程序设计和C语言 一,程序和程序语言 程序:完成某项事物所预设的活动方式和活动过程 程序设计:人们描述(指程序)计算机要做的工作 程序设计语言及发展 1,机器语言    2,汇编语言    3 ...

  8. bmob关联表

    var DDB_User = Bmob.Object.createWithoutData("DDB_User", "b2fd2fe68f"); // var T ...

  9. zabbix-3.2.3安装

    环境:lapp 操作系统: rhel7.0apache: apache-2.4数据库: postgresql-9.2.10php: php-5.4.16-21zabbix: zabbix-3.2.3 ...

  10. 20155215 2016-2017-2 《Java程序设计》第4周学习总结

    20155215 2016-2017-2 <Java程序设计>第X周学习总结 教材学习内容总结 第六章 继承,避免多个类间重复定义共同行为.子类继承父类,再扩充(extends)其他行为. ...