字典是无序可变序列。

定义字典是,每个元素的键和值用冒号分隔,元素之间用逗号分隔,所有的元素放在一对大括号“{ }”中。

字典中的键可以为任意不可变数据,比如、整数、实数、复数、字符串、元组等等。键值不能有重复值。

globals()返回包含当前作用域内所有全局变量和值得字典。

locals()返回包含当前作用域内所有局部变量和值的字典。

1.字典的创建与删除

将一个字典赋值

>>> dict={'python':'dict','java':'javac'}
>>> dict
{'python': 'dict', 'java': 'javac'}

使用已有数据创建字典

>>> keys=['a','b','c','d']
>>> values=[1,2,3,4]>>> dictionary=dict(zip(keys,values))
>>> dictionary
{'a': 1, 'b': 2, 'c': 3, 'd': 4}

根据给定的键、值创建字典

>>> d=dict(name='wang',age='20')
>>> d
{'name': 'wang', 'age': '20'}

给定内容,创建值为空的字典

>>> dict = dict.fromkeys(['name','age','sex'])
>>> dict
{'name': None, 'age': None, 'sex': None}

使用del删除字典

2.字典元素的读取

以键作为小标可以读取字典元素,若键不存在则抛出异常

>>> dict={'name':'wang','age':'20'}
>>> dict['name']
'wang'
>>> dict['tel']          
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
dict['tel']
KeyError: 'tel'

使用字典对象的get方法获取指定键对应的值,并且可以在键不存在的时候返回指定值。

>>> dict['score']=dict.get('score',[])
>>> dict['score'].append(98)
>>> dict['score'].append(97)
>>> dict
{'name': 'wang', 'age': '20', 'score': [98, 97]}

使用字典对象的items()方法可以返回字典的键、值对列表

使用字典对象的keys()方法可以返回字典的键列表

使用字典对象的values()方法可以返回字典的值列表

>>> for item in dict.items():
print(item)
('name', 'wang')
('sex', 'male')
('age', '20')
>>> for key in dict
SyntaxError: invalid syntax
>>> for key in dict:
print(key)
name
sex
age

字典元素的添加与修改

当指定键为下标为字典赋值时,若键存在,则可以修改该键的值;若不存在,则表示添加一个键,值对。

>>> dict['age']=38        #修改元素值
>>> dict
{'name': 'wang', 'sex': 'male', 'age': 38}
>>> dict ['adress']='china'   #添加新元素
>>> dict
{'name': 'wang', 'sex': 'male', 'age': 38, 'adress': 'china'}

使用字典兑现搞得update方法将另一个字典的键,值对添加到当前字典对象

>>> dict.update({'a':'a','b':'b'})
>>> dict
{'name': 'wang', 'sex': 'male', 'age': 38, 'adress': 'china', 'a': 'a', 'b': 'b'}
>>>

3.字典元素的添加与修改

  使用del删除字典中指定键的元素

  使用字典对象的clear()方法来删除字典中所有元素

  使用字典对象的pop()放大删除并返回指定键的元素

  使用字典对象的popitem()方法删除并返回字典中的一个元素

python序列(十)字典的更多相关文章

  1. python序列,字典备忘

    初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...

  2. Python序列结构--字典

    字典:反映对应关系的映射类型 字典(dict)是包含若干“键:值”元素的无序可变序列 字典中元素的“键”可以是python中任意不可变数据,例如整数.实数.复数.字符串.元组等类型可哈希数据,“键”不 ...

  3. python 序列与字典

    序列概念: 序列的成员有序排列,可以通过下标访问到一个或几个元素,就类似与c语言的数组. 序列的通用的操作: 1:索引 11 = [1,2,3,4] 11[0] = 1 2:切片 11[1,2,3,4 ...

  4. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...

  5. 孤荷凌寒自学python第十天序列之字符串的常用方法

    孤荷凌寒自学python第十天序列之字符串的常用方法 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) Python的字符串操作方法非常丰富,原生支持字符串的多种操作: 1 查找子字符串 str ...

  6. Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块

    Python第十五天  datetime模块 time模块   thread模块  threading模块  Queue队列模块  multiprocessing模块  paramiko模块  fab ...

  7. Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式

    Python第十四天 序列化  pickle模块  cPickle模块  JSON模块  API的两种格式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Py ...

  8. Python第十天 print >> f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 从控制台重定向到文件 标准错误 重定向 输出流和输入流 捕获sys.exit()调用 optparse argparse

    Python第十天   print >> f,和fd.write()的区别    stdout的buffer  标准输入 标准输出  从控制台重定向到文件  标准错误   重定向 输出流和 ...

  9. 孤荷凌寒自学python第十六天python的迭代对象

    孤荷凌寒自学python第十六天python的迭代对象 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 迭代也就是循环. python中的迭代对象有相关的如下几个术语: A容器 contrai ...

  10. 孤荷凌寒自学python第十五天python循环控制语句

    孤荷凌寒自学python第十五天python循环控制语句 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) python中只有两种循环控制语句 一.while循环 while 条件判断式 1: ...

随机推荐

  1. Educational Codeforces Round 96 (Rated for Div. 2) E. String Reversal 题解(思维+逆序对)

    题目链接 题目大意 给你一个长度为n的字符串,可以交换相邻两个元素,使得这个字符串翻转,求最少多少种次数改变 题目思路 如果要求数组排序所需要的冒泡次数,那其实就是逆序对 这个也差不多,但是如果是相同 ...

  2. Java基础教程——多态

    直观地说,多态就是"一个对象,多种形态 ".比如观世音菩萨就有多种形态-- 每个人都有多种形态-- 具体地讲,多态是指"同一个对象.同一个方法(函数),表现出不同的行为& ...

  3. Java 关于策略模式+简单工厂模式下的思考

    导读 最近在做公司一个消息网关的服务,包括:短信.微信.邮件等,所有请求通过一个入口,方便接口的管理(记录日志.接口限流白名单啥的).如何写这个接口呢,还有为了以后扩展,对接过短信.微信.公众号的童鞋 ...

  4. .Net Core AddTransient、AddScoped和AddSingleton的使用

    区别: AddTransient 每次service请求都是获得不同的实例,暂时性模式:暂时性对象始终不同,无论是不是同一个请求(同一个请求里的不同服务)同一个客户端,每次都是创建新的实例 AddSc ...

  5. CSP2020复赛游记

    CSP2020复赛游记 由于本蒟蒻侥幸通过PJ和TG的分数线并且侥幸的拿了一等,所以侥幸的来参加复赛 11.04~11.05 期中考,挂 11.06 对答案,炸 11.07 开始了第一次CSP复赛 坐 ...

  6. 网络拓扑实例10:MSTP+VRRP组合组网

    组网图形 MSTP+VRRP组合简介 网络中部署VRRP负载分担时,多台设备同时承担业务,每个虚拟设备都包括一个Master设备和若干个Backup设备.如果为了接入备份需要同时部署冗余链路,则需要部 ...

  7. moviepy音视频剪辑:TextClip.list(font)和search搜索字体报错UnicodeDecodeError:utf-8 codec cannott decode byte 问题

    ☞ ░ 前往老猿Python博文目录 ░ 在moviepy2.0.0.Dev版本中,执行如下语句: from moviepy.editor import * TextClip.search('gb', ...

  8. 第15.31节 PyQt(Python+Qt)入门学习:containers容器类部件GroupBox分组框简介

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有 ...

  9. IntelliJ IDEA2019.3.2破解/永久激活/安装教程

    我想大家用过史上最好的开发工具就是idea了,没有之一!看到大家都在找idea的激活教程,今天我也在这里跟大家分享一下. 本教程针对现在官网针对的版本是idea2019.3.2,为防止以后会更新破解失 ...

  10. 串口数据监视 Serial Port Monitor

    串口数据监视工具 Serial Port Monitor可以在其它应用读写串口时监视串口数据, 很好用,但只有15天试用期.