字典的定义与特性:

字典的每个键值key ==> value 对用冒号分割,每个键值对之间用逗号分割,整个字典包括在花括号{}中。

字典名 = {键名1:值1, 键名2:值2}

如:dict = {key1: value1, key2: value2, key3: value3}

字典没有下标 ----- 不是序列类型!

字典是可以改变的。字典是一种映射  ---- map

字典的优势:1 - 描述清楚

2 - 查找方便

3 - 扩展性好

字典的常用操作:  -----  dict1 = {'name': 'mayu', 'age': 58}

① 获取值   dict1['name']

② 改变值   dict1['name'] = 'tom'   前提是 --- 'name' 这个键名已存在

③ 新增       dict1['weight'] = 160  前提是 --- ‘weight’这个键名不存在

python3   ------ 从尾部增加

python2   ------ 无序的

④ 如果需要获取的值对应的键不存在,那么  --- 会报键错误

⑤字典内部元素不存在顺序的概念

⑥字典内部不存在相同键名

⑦相同键名时,后面会覆盖前面的值  --- 键是唯一的

⑧键、值的类型:

键的类型可以是:数值、字符串、元组        列表和元组不能作为键

                  键一定是哈希类型  --- 不能改变

值的类型可以是:任意类型

字典的技巧:

检查键是否存在:   如:print('name' in dict)

删除元素 ---- 有两种    ① del dict['name']

② dict.pop('name')   pop方法同时将键对应的值对象 返回给value变量

键值长度:  如:len(dict)

清空字典内容:    如:dict.clear()     只改变改地址的内容

获取所有的key返回在类list中: 如  dict.keys()

获取所有的value值返回在list中: 如   dict.values()

获取所有的key  value返回类list中:   如  dict.items()

字典合并:   如   dict1.update(dict2)   ----   print(dict1)

字典的遍历:

       1 - for one  in  students:   -----  one    # 遍历的是键

2 - students.items()  ----  键值对      [(键1,值1),(键2,值2)]

3 - for name, info in students.items():   # items方法  可以获取一个类列表  但是仍不能用下标获取元素。

要想用下标获取元素,需要转换成list后,才可以:  比如   print(list(students.items())[0])

还可以这样写:

for   name,  info  in  students.items():

print(name, info)

由于字典是无序的,不好做排序。

笔记||Python3之字典的更多相关文章

  1. 【python学习笔记】4.字典:当索引不好用时

    [python学习笔记]4.字典:当索引不好用时 字典是python中唯一内建的map类型 创建: key可以为任何不可改变的类型,包括内置类型,或者元组,字符串 通过大括号: phonebook={ ...

  2. python聚类算法实战详细笔记 (python3.6+(win10、Linux))

    python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念:     1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...

  3. [Python3] 017 字典的内置方法

    目录 1. Python3 中如何查看 dict() 的内置方法 2. 少废话,上例子 (1) 清理大师 clear() (2) 拷贝君 copy() (3) get(key, default=Non ...

  4. [Python3] 016 字典:给我一块硬盘,我可以写尽天下!

    目录 0 字典的独白 1 字典的创建 2 字典的特性 3 字典的常见操作 (1) 数据的访问.更改与删除 (2) 成员检测 (3) 遍历 4 字典生成式 5 字典的内置方法 6 可供字典使用的其它方法 ...

  5. python3学习笔记七(字典)

    参照http://www.runoob.com/python3/python3-dictionary.html 字典 字典是另一种可变容器模型,且可以存储任意类型对象. dict1 = {key1:v ...

  6. python3判断字典、列表、元组为空以及字典是否存在某个key的方法

    #!/usr/bin/python3 #False,0,'',[],{},()都可以视为假 m1=[] m2={} m3=() m4={"name":1,"age&quo ...

  7. Python3 数据类型-字典

    字典是一种可变数据类型,且可存储任意类型对象. 字典使用大括号"{}"括起来,由键(key)和值(values)组成,键只能使用不可变类型定义,值可以使用可变类型{'键':'值'} ...

  8. python2和python3,字典和json

    Python2的标准数据类型有: Numbers (数字) String (字符串) List (列表) Tuple (元组) Dictionary (字典) Python3的标准数据类型有: Num ...

  9. python开发笔记-str转字典

    后台接收到post请求数据格式为json格式的字符串,不能直接用字典的get方法 909090909090909090909090909090909 Internal Server Error: /g ...

随机推荐

  1. Python 命令行之旅:深入 click 之选项篇

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  2. [error] hadoop:ls: `.': No such file or directory

    问题: 解决: https://stackoverflow.com/questions/28241251/hadoop-fs-ls-results-in-no-such-file-or-directo ...

  3. nyoj 14-会场安排问题 (贪心)

    14-会场安排问题 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:9 submit:15 题目描述: 学校的小礼堂每天都会有许多活动,有时间这些活动 ...

  4. nyoj 27-水池数目(BFS, DFS)

    27-水池数目 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:17 submit:22 题目描述: 南阳理工学院校园里有一些小河和一些湖泊,现在,我 ...

  5. bash:双引号和单引号

    单引号.双引号都能引用字符和字符串 单引号:'$i'仅仅是字符,没有变量的意思了 双以号:变量等能表示出来

  6. 性能监视器PerfMon v2.0 是一个流氓的汉化版

    最近在部署一台新设备时,由于懒得翻墙用google下载软件,由一次中了坑.百度搜索出来的这个<性能监视器 v2.0 汉化版>,安装了之后,设备会时不时自动弹出广告.反编译分析了一下,的确就 ...

  7. ZeroC ICE的远程调用框架 ASM与defaultServant,ServantLocator

    ASM与defaultServant,ServantLocator都是与调用调度(Dispatch)相关的. ASM是ServantManager中的一张二维表_servantMapMap,默认Ser ...

  8. git操作忽略.iml文件

    git操作忽略.iml文件** 参考:https://blog.csdn.net/m0_38001814/article/details/87354584 因为.iml文件的修改导致代码pull失败 ...

  9. vim常用命令集合(精心整理)

    vim编辑器身为一个强大的linux平台编辑器,我就不多说他强大之处了,直接来简述下常用命令,提高自己使用编辑器的效率. 然后就先说下vim编辑器的模式,有的地方说三种,有的地方说两种,教程是按照两种 ...

  10. 如何在C++中使用boost库序列化自定义class ?| serialize and deserialize a class in cpp with boost

    本文首发于个人博客https://kezunlin.me/post/6887a6ee/,欢迎阅读! serialize and deserialize a class in cpp Guide how ...