笔记||Python3之字典
字典的定义与特性:
字典的每个键值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之字典的更多相关文章
- 【python学习笔记】4.字典:当索引不好用时
[python学习笔记]4.字典:当索引不好用时 字典是python中唯一内建的map类型 创建: key可以为任何不可改变的类型,包括内置类型,或者元组,字符串 通过大括号: phonebook={ ...
- python聚类算法实战详细笔记 (python3.6+(win10、Linux))
python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念: 1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...
- [Python3] 017 字典的内置方法
目录 1. Python3 中如何查看 dict() 的内置方法 2. 少废话,上例子 (1) 清理大师 clear() (2) 拷贝君 copy() (3) get(key, default=Non ...
- [Python3] 016 字典:给我一块硬盘,我可以写尽天下!
目录 0 字典的独白 1 字典的创建 2 字典的特性 3 字典的常见操作 (1) 数据的访问.更改与删除 (2) 成员检测 (3) 遍历 4 字典生成式 5 字典的内置方法 6 可供字典使用的其它方法 ...
- python3学习笔记七(字典)
参照http://www.runoob.com/python3/python3-dictionary.html 字典 字典是另一种可变容器模型,且可以存储任意类型对象. dict1 = {key1:v ...
- python3判断字典、列表、元组为空以及字典是否存在某个key的方法
#!/usr/bin/python3 #False,0,'',[],{},()都可以视为假 m1=[] m2={} m3=() m4={"name":1,"age&quo ...
- Python3 数据类型-字典
字典是一种可变数据类型,且可存储任意类型对象. 字典使用大括号"{}"括起来,由键(key)和值(values)组成,键只能使用不可变类型定义,值可以使用可变类型{'键':'值'} ...
- python2和python3,字典和json
Python2的标准数据类型有: Numbers (数字) String (字符串) List (列表) Tuple (元组) Dictionary (字典) Python3的标准数据类型有: Num ...
- python开发笔记-str转字典
后台接收到post请求数据格式为json格式的字符串,不能直接用字典的get方法 909090909090909090909090909090909 Internal Server Error: /g ...
随机推荐
- Nginx Linux和Windows安装教程
前言 本篇文章主要介绍的是Nginx Linux环境和Windows的安装教程. Nginx 介绍 Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Syso ...
- MySQL数据库的10大经典错误案例
学习任何一门技术的同时,其实就是自我修炼的过程.沉下心,尝试去拥抱数据的世界! 案例一 Too many connections (连接数过多,导致连接不上数据库,业务无法正常进行) 问题还原: 解决 ...
- C语言|博客作业03
这个作业属于哪个课程 C程序语言设计 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/8654 我在这个课程的目标是 ...
- Alibaba Nacos 学习(一):Nacos介绍与安装
Alibaba Nacos 学习(一):Nacos介绍与安装 Alibaba Nacos 学习(二):Spring Cloud Nacos Config Alibaba Nacos 学习(三):Spr ...
- Java基础知识总结之多线程
1.基本概念 进程是程序的一次动态执行过程,是系统进行资源分配和调度运行的基本单位. 线程是进程的一个实体,它是比进程更小的的能够独立运行的基本单位.在引入线程的操作系统中,通常都是把进程作为分配资源 ...
- LoadRunner中的90%响应时间
LoadRunner中的90%响应时间是什么意思?这个值在进行性能分析时有什么作用? 为什么要有90%用户响应时间? 这个跟超女.舞林大会等比赛那样在比赛后都要去掉一个最高分一个最低分在取平均值有点类 ...
- python--BMI
#bmi height,weight = eval(input("请输入身高(m) 体重(kg),以逗号隔开\n")) bmi = weight/pow(weight,2) pri ...
- SpringBoot项目集成Hystrix
Hystrix Hystrix是由Netflix开源的一个服务隔离组件,通过服务隔离来避免由于依赖延迟.异常,引起资源耗尽导致系统不可用的解决方案. 1.什么是服务熔断 服务熔断就是对该服务的调用 ...
- 【JavaEE】之MyBatis插入数据后获取自增主键
很多时候,我们都需要在插入一条数据后回过头来获取到这条数据在数据表中的自增主键,便于后续操作.针对这个问题,有两种解决方案: 先插入,后查询.我们可以先插入一条数据,然后根据插入的数据的各个字段值,再 ...
- Java多线程——锁
Java多线系列文章是Java多线程的详解介绍,对多线程还不熟悉的同学可以先去看一下我的这篇博客Java基础系列3:多线程超详细总结,这篇博客从宏观层面介绍了多线程的整体概况,接下来的几篇文章是对多线 ...