从入门到自闭之Python字典如何使用
字典:
定义:dict
dict = {"key":"value"} -- 键值对
作用:存储大量数据,数据和数据起到关联作用
所有的操作都是通过键来完成
键:必须是不可变的数据类型(可哈希),且唯一不可变
值:任意的数据类型
字典是可变的数据类型,无序的
字典的增:
暴力添加:dict["key"] = "value"
- 添加一个键值对,可以是列表
有责添加,无则不添加
dict。setdefault(“key”,“value”)
dic = {
"日魔":["看动漫","健身","吃包子","吃大煎饼","吃大烧饼"],
"炮手":"飞机",
"豹哥":"贴膏药",
"宝元":"宝剑",
"alex":"吹牛逼"
}
dic.setdefault("元宝",["唱","跳","篮球","喝酒"])
print(dic)
setdefault分为两步:
- 先查看键是否在字典中
- 不存在的时候进行添加
字典的删
- dict.pop() -- pop删除字典中的键进行删除,返回的也是删除的值
- dic.popitem() -- 随机删除 python3.6是删除最后一个
- dict.clear()-- 清空
- del dict -- 删除的是整个容器
- del dic["key"] -- 通过键进行删除
字典的改
- dic["key"] = "value" -- 有则覆盖,无则添加
- dict.update() --- 当update中的字典里没有dic中键值对就添加到dic字典中,如果有就修改里边对应的值
字典的查
dict.get("key") -- 查询不到就返回None
dic.get("key","定制内容") --- 查找不到就返回自己输入的定制内容
dict.setdefault("key") --- 查询不到返回None
dict.["key"] -- 查询不到就报错
查看所有的键
for i in dic: # 查看所有的键
print(i)
查看所有的值
for i in dic: # 查看所有的值 print(dic.get(i))
获取到的是一个高仿列表
print(dic.keys()) # 获取到的是一个高仿列表
print(dic.values()) # 获取到的是一个高仿列表
高仿列表支持迭代,不支持索引
面试题:
a = 10
b = 20
a,b = b,a
print(a)
print(b)
dic = {"key1":2,"key2":4}
a,b = dic
print(a)
print(b)
解构的作用:
两个都是列表的时候才可以相加
lst = [1,2,3,4,5,6,7,8]
lst1 = lst[:2]
两个都是列表的时候才能够相加 lst1.append(lst[4])
for i in lst1:
print(i)
*是万能接受
lst = [1,2,3,4,5,6,7,8]
a,b,c,d,e,*aa = lst # *是万能接受print(a,b,e)
字典嵌套查找的时候一定是按照键一层一层进行查
从入门到自闭之Python字典如何使用的更多相关文章
- 从入门到自闭之Python集合,深浅拷贝(大坑)
小数据池 int: -5~256 str: 字母,数字长度任意符合驻留机制 字符串进行乘法时总长度不能超过20 特殊符号进行乘法时只能乘以0 代码块: 一个py文件,一个函数,一个模块,终端中的每一行 ...
- 从入门到自闭之Python三大器--生成器
1.什么是生成器 核心:生成器的本质就是一个迭代器 迭代器是python自带的的 生成器是程序员自己写的一种迭代器 编写方式: 基于函数编写 推导式编写 def func (): print(&quo ...
- 从入门到自闭之Python 基础习题训练
""" name = input(">>>")通过代码来验证name变量是什么数据类型? """ na ...
- 从入门到自闭之Python基础——函数初识
1. 文件操作: 读操作: 格式:f = open("文件路径",mode = "r",encoding = "utf-8") f : 代表 ...
- 从入门到自闭之python初识
Day 01 整型: 对比: 在python 2 版本中有整型,长整型long 在python 3 版本中全部都是整型 用于计算和比较 整型和布尔值的转换 二进制转换成十进制: print (int ...
- 从入门到自闭之Python解释器安装
Python解释器的安装 1 下载 下载地址:https://www.python.org 选择windows平台的链接进行下载 https://www.python.org/downloads/ ...
- 从入门到自闭之Python整型,字符串以及for循环
Day 01 整型: 对比: 在python 2 版本中有整型,长整型long 在python 3 版本中全部都是整型 用于计算和比较 整型和布尔值的转换 二进制转换成十进制: print (in ...
- 从入门到自闭之Python入门
python是一门解释型编程语言 变量名命名的规则: 变量名由字母,数字,下划线组成 变量名不能以数字开头 变量名要具有可描述性 变量名要区分大小写 变量名禁止使用python关键字 变量名不能使用中 ...
- 从入门到自闭之Python序列化
序列化(背) json :将数据类型转换成字符串(序列化),将字符串装换成原数据类型(反序列),支持dict,list,tuple等,序列后都变成了列表 dumps,loads ------ 用于网络 ...
随机推荐
- C++入门经典-例7.6-this指针,同一个类的不同对象数据
1:对于类的非静态成员,每个对象都有自己的一份拷贝,即每个对象都有自己的数据成员,不过成员函数却是每个对象共享的.那么调用共享的成员函数如何找到自己的数据成员呢?答案是通过类中隐藏的this指针. 2 ...
- Java Web Services面试
Q. 应用集成方式有哪些? A. 应用可以采用以下方式集成: 1. 共享数据库 2. 批量文件传输 3. 远程过程调用(RPC) 4. 通过消息中间件来交换异步信息(MOM) Q. 应用集成可以采用的 ...
- Java-内存模型 final 和 volatile 的内存语义
前提:内存屏障 内存屏障(Memory Barrier)与内存栅栏(Memory Fence)是同一个概念. 用于阻止指令重排序.保证了特定操作的执行顺序和某些变量的内存可见性. JMM 内存屏障分为 ...
- koa 基础(二十五)数据库 与 art-template 模板 联动 --- 新增数据
1.视图层 根目录/views/index.html <!DOCTYPE html> <html lang="en"> <head> <m ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介
笔记 ============================================= SpringCloud课程笔记.txt 第一章 课程介绍和学习路线 1.微服务架构SpringClou ...
- (转)java8实现对象列表去重
java8实现列表去重,java8的stream和lambda的使用实例 通过普通的方式也可以达到去重的效果,但是借助java8新特性可以很方便的实现列表去重,测试demo如下 实体类: public ...
- form modelform formset modelformset的各种用法
form modelform formset modelformset的各种用法 首先上结论: form适用于对单个表单的操作,并且需要对每个字段的验证规则自定义. modelform:适用于对用 ...
- Spring:注解(@suppresswarnings,@Valid,初始化静态配置数据,定时任务,@EnableAutoConfiguration)
1.@suppresswarnings(" ") 2.@Valid @Valid注解用于校验,所属包为:javax.validation.Valid. ① 首先需要在实体类的相应字 ...
- easyui datagrid checkbox复选框取消单击选中事件、初始全选全不选等问题解决
系统业务需要,导入的列表数据默认全部选中,且不可取消选中行.全部店铺优惠券发放过后导入的数据全部清空.如图所示: 一.初始化页面默认全部选中“selectAll”,全部不选中“unselectAll” ...
- Appium,AirTest切换使用时,appium罢工之坑(1)
由于一些元素不能定位,所以最近项目引用了Airtest 问题场景: case的开始使用appium,case执行过程中,切换到airtest操作元素,待执行完airtest相关步骤之后,后续使用app ...