字典(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 (又被称为不可 ...
随机推荐
- 杂项-QRCode:ZXing
ylbtech-杂项-QRCode:ZXing 1.返回顶部 1. ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口.Zxing可以实现使用 ...
- jquery/原生js/css3 实现瀑布流以及下拉底部加载
思路: style: <style type="text/css"> body,html{ margin:; padding:; } #container{ posit ...
- 面试总结hashmap
考点: 1.hashing的概念 2.HashMap中解决碰撞的方法 3.equals()和hashCode()的应用,以及它们在HashMap中的重要性 4.不可变对象的好处 5.HashMap多线 ...
- 关于JSP页面中的pageEncoding和contentType两种属性的区别
转自:http://blog.csdn.net/dragon4s/article/details/6604624 JSP指令标签中<%@ page contentType="text/ ...
- 正则表达式/i,/g,/ig,/gi,/m的含义
正则表达式中/i,/g,/ig,/gi,/m的区别和含义 /i (忽略大小写)/g (全文查找出现的所有匹配字符)/m (多行查找)/gi(全文查找.忽略大小写)/ig(全文查找.忽略大小写)
- E20190420-hm
impact n. 巨大影响; 强大作用; 撞击; 冲撞; 冲击力; v. (对某事物) 有影响,有作用; 冲击; 撞击; incident n. 发生的事情(尤指不寻常的或讨厌的); 严 ...
- tf.pad()
说一下我理解的tf.pad(),先来看一下定义: def pad(tensor, paddings, mode="CONSTANT", name=None, constant_ ...
- 机器学习中的L1、L2正则化
目录 1. 什么是正则化?正则化有什么作用? 1.1 什么是正则化? 1.2 正则化有什么作用? 2. L1,L2正则化? 2.1 L1.L2范数 2.2 监督学习中的L1.L2正则化 3. L1.L ...
- poj3667(线段树区间合并&区间查询)
题目链接: http://poj.org/problem?id=3667 题意:第一行输入 n, m表示有 n 间房间(连成一排的), 接下来有 m 行输入, 对于接下来的 m 行输入: 1 x : ...
- poj3164(最小树形图&朱刘算法模板)
题目链接:http://poj.org/problem?id=3164 题意:第一行为n, m,接下来n行为n个点的二维坐标, 再接下来m行每行输入两个数u, v,表点u到点v是单向可达的,求这个有向 ...