字典是另一种可变容器模型,可存储任意类型的对象。

字典的每个键值(key=>value)对用冒号分隔,每个对之间用逗号分隔,整个字典包括在花括号里,格式如下

d = {key1 : value,key2 : value2}

键必须是唯一,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

一个简单字典实例:

dict = {‘Alice’: ‘2341’,’Beth’ : ‘9102’,’Cecil’ : ‘3258’}

创建字典:

dict1 = {‘abc’ : 456}

dict2= {‘abc’ : 123, 98.6 : 37}

访问字典的值

把相应的键放到方括号中:

修改字典:

向字典添加新内容的方法是增加新的键/值对,修改或删除已有的键值:

删除字典元素:

能删单元的元素,也能清空字典,清空只需要一项操作。

显示删除一个字典用del命令。

字典键的 特性

字典值可以是任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1) 不允许同一个键出现两次,创建时如果同一个键被赋值两次,后一个值会被记住。

2) 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。

字典内置函数&方法

len(dict):计算字典元素的个数,即键的总数。

str(dict):输出字典,以可打印的字符串表示。

type(variable):返回可输入的变量类型,如果变量是字典,就返回字典类型。

Python字典包含了以下的内置方法

函数

描述

radiansdict.clear()

删除字典内所有元素

radiansdict.copy()

返回一个字典的浅复制

radiansdict.fromkeys()

创建一个字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

radiansdict.get(key,default=None)

返回指定键的值,如果值不存在字典值中就返回default值

key in dict

如果键在字典dict里返回true,否则返回false

radiansdict.items()

以列表返回可遍历的(键,值)元组数组

radiansdict.keys()

返回一个迭代器,可以使用list()来转换成列表

radiansdict.setdefault(key,default=None)

和get()相似,但如果键不存在与字典中, 将会添加键并将值设为default

radiansdict.update(dict2)

把字典dict2的键/值更新到dict中

radiansdict.values()

返回一个迭代器可以使用list()来转换成列表

pop(key[default])

删除字典给定键key所对应的值,返回值为被删除的值。key值必须给出,否则,返回default值

popitem()

随机返回并删除字典中一对键和值(一般删除末尾对)

字典的键值是“只读”的,所以不能对键和值分别进行初始化

字典是支持无限嵌套的

用字典记录学生姓名和分数,再分级

/***student.py***/students={}

write= 1

whilewrite:

name= str(input("please input name :"))

grade= int(input("please input grade :"))

students[str(name)]=grade

write= int(input("please input ?\n 1--continue 0--exit"))print('name rate'.center(20,'-'))for key,value instudents.items():if value >= 90:print("%s %s A".center(20,'-')%(key,value))elif 89 > value >= 60:print("%s %s B".center(20,'-')%(key,value))else:print("%s %s C".center(20,'-')%(key,value))

运行结果:

robot@ubuntu:~/wangqinghe/python/20190823$ python3.5 key.py

please input name : wang

please input grade : 12

please input ?

1--continue  0--exit1

please input name : qing

please input grade : 67

please input ?

1--continue  0--exit1

please input name : he

please input grade : 98

please input ?

1--continue  0--exit0

-----name rate------

------qing  67 B ------

------wang 12 C ------

------he 98 A ------

字典可以通过以下方式调换key和value,注意原始value类型是不可变类型:

/***reverse.py***/dic={'a':1,'b':2,'c':3,

}

reverse= {v:k for k,v indic.items()}print(dic)print(reverse)

运行结果:

robot@ubuntu:~/wangqinghe/python/20190823$ python3.5 rever.py

{'a': 1, 'c': 3, 'b': 2}

{1: 'a', 2: 'b', 3: 'c'}

循环显示字典key和value值:

/***show.py***/b= {'a' : 'runoob','b':'google'}for i inb.values():print(i)for c inb.keys():print(c)

运行结果:

robot@ubuntu:~/wangqinghe/python/20190823$ python3.5 loop.py

runoob

google

a

b

python3 字典_Python3字典相关推荐

  1. ios yymodel 将字典转数组模型_Python3 字典

    Python3 字典 Python AI开发实战营 - 一堂课快速认识Python机器学习 - 创客学院直播室​www.makeru.com.cnPython AI开发实战营 - Day1:建立pyt ...

  2. python 在线字典_python3

    Python3 字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格 ...

  3. python3 列表 元组 字典 文件 编码转码

    列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 na ...

  4. python3笔记_python3 笔记

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 因为元组的不可变性,内容不会变化的,python可以实现一些优化,让使用元组的代 ...

  5. pycharm写python字典_pycharm_字典

    字典: 字典取值快,通过key去找 字典是无序的,因为其不是按照顺序进行取值的,是按照key和value进行取值的 1.定义 info={}   #定义空字典 info={"name&quo ...

  6. python 存储字典_python 字典存储

    Python学习笔记--元组.列表和字典的使用笔记 Python学习笔记--元组.列表和字典的使用笔记 最近开始学习python语言,所以在学习中做了一些记录,这次讲的是元组.列表和字典的基础操作和区 ...

  7. python复制字典_python字典复制

    python学习系列--深拷贝和浅拷贝 概念 普通情况下,复制一个对象是不会新开辟内存空间的,只是把新的对象名称指向原有的内存地址,这种操作其实不是算是拷贝,只是新的引用.把新的对象置于新的内存空间中 ...

  8. python构造字典_python字典构造

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 1 dict()构造函数可以返回一个空的字典in : d = dict() in ...

  9. python 命名字典_python字典命名

    广告关闭 回望2020,你在技术之路上,有什么收获和成长么?对于未来,你有什么期待么?云+社区年度征文,各种定制好礼等你! usrbinpython dict = {: zhang, age: 27} ...

  10. python输入文字、成为字典_Python 字典(Dictionary)操作详解

    一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} ...

最新文章

  1. TF之CNN:基于CIFAR-10数据集训练、检测CNN(2+2)模型(TensorBoard可视化)
  2. dota是java中的_用java开发dota英雄最华丽的技能(实例讲解)
  3. java登录注册升级代码_【升级版】Java 登录,注册,传数据到后台小案例
  4. Android 去掉TabLayout下的阴影,AppBarLayout下的阴影
  5. 【转】spring之任务调度
  6. Echars折线配置详解
  7. 宿华、程一笑上市演讲:上市是接受更大机遇和挑战的新起点
  8. 设计灵感|海报设计中常见的文字排版样式
  9. noi题目答案c语言,NOI2019基础知识题库
  10. UE4学习笔记(3)——World Composition无缝拼接地图实现
  11. Navicat连接本地数据库10038,1251
  12. 获取微信小程序邀请码并下载
  13. 【转换输出流小练习 】现有一字符串:”我爱Java”。将该字符串保存到当前项目根目录下的a.txt文件中。​
  14. 6.WIN10 short cut
  15. 有哪些基于苹果HomeKit的全屋智能家居组合
  16. 远程登陆服务器跑深度学习程序
  17. 2016年11月30日 angularJS input=file 绑定change事件
  18. 儿童吹泡泡水简单配方_孩童吹泡泡水的制作方法
  19. ASO小技能:自动输入搜索框文本
  20. 【ARM】新唐NUC977移植WK2124驱动

热门文章

  1. effective stl
  2. collapsar(collapsar网名什么意思)
  3. 同频切换的事件_目前现网中,LTE同频切换主要是通过A5事件进行触发
  4. 关于读书,请你丢掉对书本的敬畏感
  5. 14_美年_图形报表,POI报表_运营数据统计_运营数据统计报表导出
  6. unity自动生成敌人_Unity学习笔记一:敌人模块和敌人生成器模块脚本编写思路梳理(1)...
  7. 作用域public,protected,private, 以及不写时的区别
  8. 中国十大B2C电商网站开发语言调查
  9. 数据库入门_查询语句
  10. ISP PIPLINE 概述