1

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
18
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'>

 
 
posted @ 2018-01-25 15:05  萌哥-爱学习  阅读(226)  评论(0编辑  收藏  举报