字典(dict),增删改查,嵌套
一丶字典
dict 用{}来表示 键值对数据 {key:value} 唯一性
键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键
值 没有任何限制
二丶字典的增删改查
1.增
dic[key] = value
dic.setdefault(key,value)
如果键在字典中存在,则不进行任何操作,否则就添加,可以通过key查询,没有这个key则返回None
# 增
dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000}
dic["sex"] = "女" #增加,如果key重复了,会替换掉原来的value
print(dic)
dic.setdefault("hobby","listen music")
print(dic)
2.删
pop(key) 有返回值,返回的是被删除的value
del dic[key]
popitem 随机删除
clear() 清空字典
# 删
dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000}
ret = dic.pop("money") #有返回值,返回的是被删除的value
print(dic) #{'name': '周杰伦', 'age': 45, 'sex': 'boy'}
print(ret) #被删除的值
del dic["sex"] #{'name': '周杰伦', 'age': 45, 'money': 100000}
print(dic)
dic.popitem() #随机删除
print(dic) #{'name': '周杰伦', 'age': 45, 'sex': 'boy'}
dic.clear() #全部清空 {}
print(dic)
3.改
dic[key] = value
dic.update(字典)
#改
dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000}
dic["age"] = "" #强制修改值
print(dic) #{'name': '周杰伦', 'age': '40', 'sex': 'boy', 'money': 100000}
dic1 = {"name":"李晨","bug":"唯一一个","age":38}
dic2 = {"name":"范冰冰","邓超":"玛丽","age":26}
dic2.update(dic1) #把dic1中的内容更新到dic2中,如果存在了key,则替换,如果不存在,则添加进去
print(dic1)
print(dic2)
4.查
get(key)
dic[key]
for 循环
setdefault(key)
1#查
dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000}
print(dic.get("sex")) #boy
print(dic["age"]) #
for a in dic: #for 循环默认是获取字典中的键(key)
print(a)
print(dic[a]) #获取的是字典中的值(value)
ret = dic.setdefault("name","谢文东") #首先判断原来的字典中有没有这个key,如果没有,执行新增
print(dic) #用这个key去字典中查询,返回查找到的结果
print(ret)
三丶字典的其它操作
keys 获取到所有的键存在一个高仿的列表中
values 获取到所有的值存在一个高仿的列表中
items 获取到所有的键值对,以元组的形式存在一个高仿的列表中
dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000}
print(dic.keys()) #获取到所有的键存在一个高仿的列表中
##dict_keys(['name', 'age', 'sex', 'money'])
print(dic.values()) #获取到所有的值存在一个高仿的列表中
##dict_values(['周杰伦', 45, 'boy', 100000])
print(dic.items()) #获取到所有的键值对,以元组的形式存在一个高仿的列表中
##dict_items([('name', '周杰伦'), ('age', 45), ('sex', 'boy'), ('money', 100000)])
四丶字典的嵌套
# 字典的嵌套
dic1 = {
"name":"汪峰",
"age":48,
"sex":"男",
"wife":{
"name":"章子怡",
"age":36,
"sex":"女",
},
"baby":[
{"name":"熊大","age":18},
{"name":"熊二","age":16}
]
}
print(dic1)
dic1["baby"][1]["age"] = 14
print(dic1)
字典(dict),增删改查,嵌套的更多相关文章
- python 字典dict 增删改查操作
初始化: a. data_dict = {} b. data_dict1 = dict() c. data_dict2 = {'key':'value'} 新增: a. data_dict[key]= ...
- DAY5(PYTHON) 字典的增删改查和dict嵌套
一.字典的增删改查 dic={'name':'hui','age':17,'weight':168} dict1={'height':180,'sex':'b','class':3,'age':16} ...
- 2018.8.1 python中字典的增删改查及其它操作
一.字典的简单介绍 1.dict 用{}来表示 键值对数据 {key:value} 唯一性 2.键都必须是可哈希,不可变的数据类型就可以当做字典中的键 值没有任何限制 ...
- python字典的增删改查
字典dict 知识点: {}括起来,以键值对形式存储的容器性数据类型: 键-必须是不可变数据类型,且是唯一的: -值可以是任意数据类型.对象. 优点:关联性强,查询速度快. 缺点:以空间换时间. 字典 ...
- 列表(索引切片 增删改查 嵌套) range 元组的初识
li = ["alex", "WuSir", "ritian", "barry", "wenzhou" ...
- python 字典使用——增删改查
创建字典 dict= {key1 : value1, key2 : value2 } key : value 为键值对 增: dict[key] = value 删: del dict[key] 改: ...
- 字典的增删改查 daty 5
字典:python中非常重要的数据类型,在python中唯一一个映射的数据类型数据类型分类 按照数据可变与不可变: # 不可变数据类型: int str bool tuple # 可变数据类型: li ...
- day6 note 字典的增删改查(以及setdefault用法补充)
今天的内容主要是join的用法和字典的用法,由于已经有前面的列表作为基础,所以还比较简单,不过因为昨天的作业比较难也比较多,所以作业的讲解占用的时间比较长.我需要好好消化一下作业的部分. 思维导图: ...
- dict 增删改查
# dict # 数据类型划分: 可变数据类型,不可变数据类型 # 不可变数据类型: 元组 bool int str set (又被称为可哈希) # 可变数据类型: list dict (又被称为不可 ...
随机推荐
- dataguard 常规运维操作
1.standby database 正常的打开与关闭 1.1 针对 physical standby打开:--打开数据库SQL>startup; -- 开启 mgr 进程 SQL>ALT ...
- BZOJ3127:[USACO2013OPEN]Yin and Yang
浅谈树分治:https://www.cnblogs.com/AKMer/p/10014803.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem. ...
- 在浏览器端用JS创建和下载文件
前端很多项目中,都有文件下载的需求,特别是JS生成文件内容,然后让浏览器执行下载操作(例如在线图片编辑.在线代码编辑.iPresst等). 但受限于浏览器,很多情况下我们都只能给出个链接,让用户点击打 ...
- ASP.NET Core会议管理平台实战_4、参数校验、操作结果封装,注册参数配置
登陆和注册之前,需要封装 前端参数的校验,ajax的封装 参数校验,创建公共的类 ,它是一个静态类 这样在调用的时候,直接一句话就可以了,这就是封装的好处 空字符串的校验 调用方式 EF的源码里面有这 ...
- URL辅助方法
URL辅助方法则负责用来产生url地址,那什么时候需要呢,以输出超链接来说,使用Html.ActionLink()辅助方法一定会产生超链接的a标签,如果只是想单纯的输出asp.net mvc的某个网址 ...
- "Mysql has gone away"的几种可能
现象: 在本地利用Flask自带的WSGI服务进行调试没有问题后,通过Gunicorn进行部署. 但是在一晚上没有访问之后,第二天再次访问会出现500(Internal error). 原因: 通过追 ...
- 3DMAX 多维材质及对应的UVW展开,UVW贴图
多维材质说明 多维材质就是一个模型多个材质,(混合材质是多个材质混一起,跟这个貌似没关,比如地表草地,泥土等的混合操作) 作用: 比如一个模型就是需要两种材质,刀的金属刀身,木质刀柄,墙的一面是木板, ...
- codeforces1081G Mergesort Strikes Back【期望dp+脑洞】
首先看这样做的特点,就是分到最后小块里的点合并上去的时候相对顺序不变,所以先加上块内逆序对的期望 合并的时候一定是一边卡住一个大值,另一边跳指针,所以把一个值向右直到有大于它的值位置的一段区间看作一段 ...
- wampserver2.5局域网公网IP访问配置
wampserver2.5集成环境的安装和使用就不多说了,网上有很多教材.安装好后找到apache的配置文件httpd.conf.默认位置是: swap安装目录\wamp\bin\apache\apa ...
- 13.Python略有小成(装饰器,递归函数)
Python(装饰器,递归函数) 一.开放封闭原则 软件面世时,不可能把所有的功能都设计好,再未来的一两年功能会陆续上线,定期更新迭代,软件之前所用的源代码,函数里面的代码以及函数的调用方式一般不 ...