Day 5 字典的操作
1. 例子 ,务必理解
dic = { 'name':'金鑫',
'name_list':[1,2,3,'李杰'],
1:{
'python10':['小黑','萌哥'],
'老男孩':{'name':'oldboy','age':56}
}
}
#1,[1,2,3,'李杰']追加'wusir'
dic["name_list"].append("wusir")
print(dic)
#2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥
dic[1]["python10"].insert(1,"花哥")
print(dic)
#3, {'name':'oldboy','age':56} 添加一个键值对,hobby:男人
dic[1]["老男孩"]["hobby"]="男人"
print(dic)
2 字典的增删改操作
1. 增
①
dic={"name":孟宾 ,“age”:18,"sex":"male"}
dic【key】=vale
dic【“name2”】=“依米”
#字典里没有name2 的key,所以在最后添加“name2":"依米”
即 dic={"name":孟宾 ,“age”:18,"sex":"male",“name2":"依米”}
②
如果 dic【“name”】=“依米” ,name 在dic字典里有这个key那么则替换
dic={"name":依米 ,“age”:18,"sex":"male"}
规则为 : 有key则覆盖,没有key则在后面添加.
dic["name"]="王子"
print(dic)
dic.setdefault("name1","dsfe")
dic.setdefault("name","mengbin")
print(dic)
输出结构为:
{'name': '王子', 'age': 18, 'sex': 'male'}
{'name': '王子', 'age': 18, 'sex': 'male', 'name1': 'dsfe'}
原则为:有key不变,没key 则添加.
2. 删除
①
rect=dic.pop("sex")
print(rect)
print(dic)
有返回值。
rect=dic.pop("name1","dfadsmeng")
print(rect)
结果:dfadsmeng
如果没有此name1 key ,则返回 值为dfadsmeng
②
del dic["name"]
print(dic)
结果:
{'age': 18, 'sex': 'male'} del dic
删除字典 ③
dic.popitem()
print(dic)
随机删除(最后开始删除)
输出结果为
{'name': 'jin', 'age': 18}
3更改
①
dic【“key”】=value
dic2.update(dic)
dic ={"name":"jin","age":18,"sex":"male"}
dic2={"name":"alex","work":"计算机"}
dic2.update(dic)
print(dic2)
将dic的键值对覆盖增加到dic2 中
输出结果:
{'name': 'jin', 'work': '计算机', 'age': 18, 'sex': 'male'}
4 查
print(dic["name"])
print(dic["name"])
print(dic.get("name"))
print(dic.get("name1","没有此键值对")) #有返回值。
5 打印处字典里的Key或者Value或者键值对
①
dic={'name': 'jin', 'work': '计算机', 'age': 18, 'sex': 'male'}
keys= dic.keys()#打印字典中的key
print(key) k = list(key)#将所有key转换成列表
print(key,type(key))
print(k)
输出的结果:
dict_keys(['name', 'age', 'sex']) <class 'dict_keys'>
['name', 'age', 'sex']
②
dic={'name': 'jin', 'work': '计算机', 'age': 18, 'sex': 'male'}
values= dic.values()#打印字典中的value
print(values)
k=list(values)#将所有value转换成列表
print(k)
结果:
dict_values(['jin', 18, 'male'])
['jin', 18, 'male']
③
将键值成对打印出来
dic ={"name":"jin","age":18,"sex":"male"}
items= dic.items()
print(items)
k=list(items)
print(k)
打印结果
dict_items([('name', 'jin'), ('age', 18), ('sex', 'male')])
[('name', 'jin'), ('age', 18), ('sex', 'male')]
6. For循环
dic ={"name":"jin","age":18,"sex":"male"}
for k in dic.keys() :#或者 for k in dic
print(k) for v in dic.values() :
print(v)
输出结果:
name
age
sex
jin
male
dic ={"name":"jin","age":18,"sex":"male"}
for i in dic.items():#以元祖形式打印出来
print(i,type(i))
#
for k,v in dic.items():#以字符串形式打印出来
print(k,v,type(k))
打印结果为
('name', 'jin') <class 'tuple'>
('age', 18) <class 'tuple'>
('sex', 'male') <class 'tuple'>
name jin <class 'str'>
age 18 <class 'str'>
sex male <class 'str'>
Day 5 字典的操作的更多相关文章
- Python字典的操作与使用
字典的描述 字典是一种key-value的数据类型,使用就像我们上学用的字典,通过拼音(key)来查对应字的详细内容(value). 字典的特性 1.字典是无序的(不像列表一样有下标,它通过key来获 ...
- python-类对象以字典模式操作
#类对象以字典模式操作 class Person: def __init__(self): self.cache={} def __setitem__(self, key, value): #增加或修 ...
- Python—字典的操作
字典的操作: #字典的本质其实是dict类的对象 >>> a = dict([(")]) >>> a {'} 一.增加 >>> stud ...
- Python基础学习----字典常用操作
字典的常见操作: # 字典: # 格式:{键值对,键值对} dict_demo={"name":"bai-boy","age":17} # ...
- Dict字典的操作
字典的操作 1.字典新增键值对 已存在内容的字典新增 alient_0 = {"color":"green",position:10} alient_0[&qu ...
- swift(三)字典数组操作
//1.数组的概念和定义 var array = [,,,] var array1:Array = [,,,] var array2:Array<Int> = [,,,]; var arr ...
- python 深浅拷贝 元组 字典 集合操作
深浅拷贝 :值拷贝 :ls = [,,] res = ls 则print(res)就是[,,] 浅拷贝 :ls.copy() 深拷贝:ls3 = deepcopy(ls) # 新开辟列表空间,ls列表 ...
- Python 字典(Dictionary)操作详解
Python 字典(Dictionary)的详细操作方法. Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字 ...
- Python字典增删操作技巧简述
Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些基础应用.比如今天我们为大家介绍的Python字典的相关操作,就是我们在学习过程中需要熟练掌握的技 ...
- !!Python字典增删操作技巧简述+Python字典嵌套字典与排序
http://developer.51cto.com/art/201003/186006.htm Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些 ...
随机推荐
- Linux xxd命令
一.简介 xxd 命令用于使用二进制或十六进制格式显示文件内容,可以将指定文件或标准输入以十六进制转储,也可以把十六进制转储转换成原来的二进制形式. 二.选项 http://www.cnblogs.c ...
- IPEndPoint
.NET框架用IPEndPoint 对象来表示一个特定的IP地址和端口的组合,应用该对象的场景多是在讲socket绑定到本地地址或者将socket绑定到非本地地址.
- 子查询 in 潜在的问题 - 建议最好别用
转至:http://wiki.lessthandot.com/index.php/Subquery_typo_with_using_in Subquery typo with using in Fro ...
- part1:1-embeded学习心态
遇到问题,要冷静分析问题,采用排除法,个个排除查找问题之所在!切记!在没分析完自己问题之前,别把问题所在指向他人!
- kafka系列 -- 基础概念
kafka是一个分布式的.分区化.可复制提交的发布订阅消息系统 传统的消息传递方法包括两种: 排队:在队列中,一组用户可以从服务器中读取消息,每条消息都发送给其中一个人. 发布-订阅:在这个模型中,消 ...
- 2018.10.15 loj#6013. 「网络流 24 题」负载平衡(费用流)
传送门 费用流sb题. 直接从sss向每个点连边,容量为现有物品量. 然后从ttt向每个点连边,容量为最后库存量. 由于两个点之间可以互相任意运送物品,因此相邻的直接连infinfinf的边就行了. ...
- MySQL】存储过程、游标、循环简单实例
create procedure my_procedure() -- 创建存储过程 begin -- 开始存储过程 declare my_id varchar(32); -- 自定义变量1 decla ...
- BSD Socket 通信
Berkeley sockets is an application programming interface (API) for Internet sockets and Unix domain ...
- HDU1253 胜利大逃亡(BFS) 2016-07-24 13:41 67人阅读 评论(0) 收藏
胜利大逃亡 Problem Description Ignatius被魔王抓走了,有一天魔王出差去了,这可是Ignatius逃亡的好机会. 魔王住在一个城堡里,城堡是一个A*B*C的立方体,可以被表示 ...
- Sometimes , less is more
给小团队的特别建议 小团队的普遍现象在于人力紧张,不管是在创业公司还是在大公司内.对于不写代码就手痒的技术人员,如果再在技术上有点儿完美主义情节,那真是可以为代码鞠躬尽瘁的.稍微一整理,事情恨不得已经 ...