字典的定义与特性:

字典的每个键值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. ASP.NET Core 1.0: 指定Static File中的文件作为default page

    指定一个网站的default page是很容易的事情.譬如IIS Management中,可以通过default page来指定,而默认的index.html, index.htm之类,则早已经被设置 ...

  2. TCP time_wait close_wait问题(可能是全网最清楚的例子)

    背景 公司群里,运维发现一个问题,task服务报错(如下) The stream or file \"/data/logs/adn_task/offer_service.log\" ...

  3. pat 1023 Have Fun with Numbers(20 分)

    1023 Have Fun with Numbers(20 分) Notice that the number 123456789 is a 9-digit number consisting exa ...

  4. 【评测机】评测时报错cc1plus: fatal error: /xx/xx/main.cpp: Permission denied compilation terminated.的解决方法

    事情是这亚子发生的,原本建立评测机的时候就出现过这个问题,但莫名其妙就解决了. 报错的文件路径是位于docker内的,所以本质上这个错误是docker内的没有权限执行相关文件. 原因是centos7中 ...

  5. 领扣(LeetCode)移动零 个人题解

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作, ...

  6. Pashmak and Buses(构造)

    题目链接:http://codeforces.com/problemset/problem/459/C 题意:n个人, k辆车, d天,每天将所有 任意人安排到k辆车, 问怎样安排, 可时不存在 2人 ...

  7. 对js中局部变量、全局变量和闭包的理解

    对js中局部变量.全局变量和闭包的理解 局部变量 对于局部变量,js给出的定义是这样的:在 JavaScript函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它.(该变量的作用域 ...

  8. 如何进行Flink项目构建,快速开发Flink应用程序?

    项目模板 Flink应用项目可以使用Maven或SBT来构建项目,Flink针对这些构建工具提供了相应项目模板. Maven模板命令如下,我们只需要根据提示输入应用项目的groupId.artifac ...

  9. H3C交换机、路由器 ssh登录配置

    VLAN 10  创建vlan并配好ip inter vlan 10 ip add  20.1.1.1  24 qu ip route-static 0.0.0.0 0 20.1.1.254  写好静 ...

  10. ReactRouter中HashRouter和BrowserRouter的区别

    仅个人理解,如有不当请指正 一.从原理上 HashRouter在路径中包含了#,相当于HTML的锚点定位.(# 符号的英文叫hash,所以叫HashRouter,和散列没关系哦)) 而BrowserR ...