Day05 字典+作业

一.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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值