字典的定义与特性:

字典的每个键值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. windows 激活工具链接

    链接:https://pan.baidu.com/s/1FphGFZhhLp01akGTDWjW2A  密码:f9t7

  2. Java代码自动生成,生成前端vue+后端controller、service、dao代码,根据表名自动生成增删改查功能

    本项目地址:https://github.com/OceanBBBBbb/ocean-code-generator 项目简介 ocean-code-generator采用(适用):     ,并使用m ...

  3. Sequelize小记

    http://docs.sequelizejs.com/   官方英文 Object-Relational Mapping 增 Model.create({field1:'a', field2:'b' ...

  4. SIGCHLD waitpid, 小心子进程结束事件被偷了

    原本项目中依赖子进程执行的地方,都使用jni调用java层的ProcessManager,换了c++ACE框架后,发现这些任务都很慢,调试才发现所有子进程执行的任务都必须等待到reactor超时才返回 ...

  5. ffmpeg-3.1.4居然也有这么坑的bug

    近日自己用下载的ffmpeg-3.1.4代码自己编译来用,没想到会碰到这么一下低级坑.我用自己的编译出来的库总是会在用rtsp上传视频时崩掉,起初我还以为自己编译的x264出问题,因为我是绕开使用pk ...

  6. windows下大数据开发环境搭建(1)——Hadoop环境搭建

    所需环境 jdk 8 Hadoop下载 http://hadoop.apache.org/releases.html 配置环境变量 HADOOP_HOME: C:\hadoop-2.7.7 Path: ...

  7. php设置随机ip访问

    当我们请求一个站点的时候,http报文头会携带一些ip信息,我们通过伪造这些信息,就可以形成不同ip访问请求的效果. header的头部CLIENT-IP和X-FORWARDED-FOR我们都设置为想 ...

  8. 程序员用于机器学习数据科学的3个顶级 Python 库

    NumPy NumPy(数值 Python 的简称)是其中一个顶级数据科学库,它拥有许多有用的资源,从而帮助数据科学家把 Python 变成一个强大的科学分析和建模工具.NumPy 是在 BSD 许可 ...

  9. python字符串删除,列表删除以及字典删除的总结

    一:字符串删除  1,字符串本身是不可变的,一个字符串定义以后,对他本身是不能做任何操作的,所以的增删改都是对原字符串拷贝的副本的操作,原来的字符串还是原来的字符串,它本身并没 有变 2,字符串本身是 ...

  10. LAMP架构介绍、MySQL、MariaDB介绍、MySQL安装

    5月23日任务 课程内容: 11.1 LAMP架构介绍11.2 MySQL.MariaDB介绍11.3/11.4/11.5 MySQL安装扩展mysql5.5源码编译安装 http://www.ami ...