字典是无序可变序列。

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

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

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. Jinja2语法自动补全配置

    Jinja2语法自动补全配置 说明 在使用Pycharm社区版进行Web开发时,Jiaja2的语法是不会自动提示补全的,为了提高开发效率,需要根据个人习惯进行一些常用语法的自动补全配置,具体如下. 配 ...

  2. C构造类型 数组

    一.数组是什么 一组有个固定大小.相同数据类型的数据的集合. 数组可以分为:一维数组.二维数组.三维数组....(维数不止一维:多维数组) 表格 : 行和列(二维数组) 二.一维数组 1.一般形式 类 ...

  3. Hybrid接口应用

    简介:VLAN10内通信,VLAN20内通信,VLAN30与VLAN10.VLAN20.VLAN30皆可通信 Hybrid接口应用拓扑图: 一.配置PC机 ip 并测试相互能否ping通 PC名称 I ...

  4. C语言中connst用法

    1.const一般用来定义只读变量,这个变量的之只能在初始化时赋值,如果初始化时没有赋值,则默认为0.如果在其他地方试图更改此值,编译会报错.如: 1 #include<stdio.h> ...

  5. 【MySQL篇】Navicat导入SQL文件报错终极解决方案

    面对大数据库文件(一般50M以上),使用Navicat导入的时候容易出现[ERR]2006等报错问题,此文提供了几种办法,包括修改MySQL的配置参数在网上也有很多详细教程介绍过,但此文精彩处在于前面 ...

  6. PyQt(Python+Qt)学习随笔:窗口layout布局的SizeConstraint和部件的大小约束策略sizePolicy不起作用的问题

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 在写一个测试代码时,发现无论怎么设置窗口以及子部件 ...

  7. Python基础教程目录

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python部分代码样例 老猿Python重难点知识博文汇总 老猿Python博客地址 第1章 Python学习环境构建目 ...

  8. Kubernetes-21:Apiserver等证书修改使用年限

    Kubernetes证书使用年限修改方法   Kubernetes的apiservice.crt证书默认只有一年的使用期限,查看方法: cd /etc/kubernetes/pki [root@Cen ...

  9. element ui中循环出来的表格勾选问题

    需求是这样的,一个房主屋里面有多个电表,每一个表是一个账户,一次只能给一个账户缴费,在点击go按钮进行缴费,这个时候判断是否跨表勾选,跨表格勾选则弹窗提示,反之符合需求,走缴费逻辑 上代码 <! ...

  10. 使用 swagger 加注解 有的方法显示 有的不显示

    在使用swagger  的时候 ,加完注解 运行后发现,有很多加了注解的没有显示,debug   也有返回数据 ,最终发现,有一个方法中有个参数 是Boolean 类型, 但是这个  参数 我没有添加 ...