一.dict
1.字典的简单介绍
字典是python中唯一的一个映射类型.他是以{}括起来的键值对组成的
{‘时间’:‘11:00’,‘地点’:‘北京市’}
注意:字典的key必须是可哈希的,不可变的
数字/False/tuple均可以作为key,True/list不可作为key
2.字典的相关操作
2.1增加
2.1.1dic[‘key’]=‘value’
dic={‘a’:‘alpha’}
dic[‘b’]=‘beta’
print(dic)
2.1.2dic.setdefault(‘key’,‘value’)
dic.setdefault(‘c’,‘gama’)
#增加’c’
dic.setdefault(‘c’,‘theta’)#可以帮助添加dic中没有的内容,并且返回key的value
##如果字典里已经包含了c,字典不在保存c的内容
##特别注意对比***
dic[‘c’]=‘theta’
#表示赋值,运行结果由c:gama 变成c:theta
2.2删除
dic.pop()#返回删除元素的value值,删除‘key’元素
del dic[‘key’]
dic.popitem()#随机删除,返回tuplue
2.3查询
print(dic[‘a’])#返回alpha
print(dic.get(‘a’))#返回alpha
print(dic[‘al’])#返回keyerror
print(dic.get(‘al’))#返回none
print(dic.get(‘al’,‘alpha’))#返回alpha
print(dic.setdefault(‘a’))#返回alpha
#1.首先判断原来的字典是否有key,有执行,无新增
#2.用这个key去字典中查询
3.字典常用方法
3.1
print(dic.keys())#拿到所有的key,返回key的集合,像列表但不是列表,可以进行迭代循环
#返回dic_keys([‘a’,‘b’,‘c’])
for key in dic.keys():
print(key)
print(dic.values())
print(dic.items())
print(dic.item[0])
print(dic.item[1])
a,b=1,2
print(a)
print(b)
1 2
a=1,2
print(a)
#(1,2)
#解包/解构
a,b=1,2
print(a)
4.字典的嵌套
for k,v in dic.items():
print(k)
print(v)
dic={
‘name’:‘Lucy’,
‘age’:58,
‘job’:{
‘salary’:8000,
‘years’:5,
‘name’:‘housekeeper’,
},
‘children’:[
{‘name’:‘Mary’,‘age’:34},
{‘name’:‘Peter’,‘age’:30}
]
}
print(dic)
print(dic[‘children’][1][‘age’])
print(dic[‘job’][‘salary’])
二.作业
tu=(‘alex’,[11,22,{‘k1’:‘v1’,‘k2’:[‘age’,‘name’],‘k3’:(11,22,33)},44])
a.可以查询不可修改
b.不可以
c.list,可以修改
tu[1][2][‘k2’].append(‘Seven’)
d.tuple,不可以
dic={‘k1’:‘v1’,‘k2’:‘v2’,‘k3’:[11,22,33]}
a.
for key in dic.keys():
print(key)
b.
for value in dic.values():
print(value)
c.
for item in dic.items():
print(item)
d.
dic.setdefault('k4','v4')
print(dic)
e.
dic['k1']='alex'
f.
dic['k3'].append(44)
g.
dic['k3'].insert(0,18)
3.这道题不太和谐,不写了.
4.字符串组成字典
raw='k:1|k1:2|k2:3|k3:4'
li=raw.split('|')
print(li)
dic={
}
for items in raw.split('|'):
k,v=items.split(':')
dic[k]=v
print(dic)
5.将所有大于66的值保存在dic={}中key=k1,小于66保存k2
li=[11,22,33,44,55,66,77,88,99,90]
dic={
'k1':'','k2':''}
li1=[]
li2=[]
for num in li:
if num>66:
li1.append(num)
else:
li2.append(num)
dic['k1']=li1
dic['k2']=li2
print(dic)
li=[11,22,33,44,55,66,77,88