2021-07-01字典

字典{dict}

字典属于一种新的数据结构,成为映射(mapping)

字典的作用和列表类似,都是用来存储随想的容器

列表的存储性能好,但是查询数据的性能很差

在字典中每一个元素都有唯一的一个名字,通过这个唯一的名字

修改字典

#d[key]=value 如果key存在则覆盖,不存在则添加

d={'name':'kyle','age':18}

#d[key]=value 如果key存在则覆盖,不存在则添加

d['name']='jessica'#修改字典的key-value

d['address']='sydney'
print(d)

#d.setdefault(key,value)可以用来向字典中添加key-value

如果key已经存在于字典中,则反馈key值,不会对字典做任何操作

如果key不存在,则向字典中添加这个key,并设置value

d={'name':'kyle','age':18}
re=d.setdefault('name',17)
print(re,d)
c={'name':'kyle','age':18}
re=c.setdefault('year',2021)
print(re,c)

update([other])

将其他字典中的key-value添加到当前字典中

如果有重复的key,则后面会替换到当前的

d={'name':'kyle','age':18}
c={'name':'cindy','age':25,'address':'beijing'}
d.update(c)
print(d)

删除,可以使用del 来删除字典中的 key-value

如果删除字典中不存在的key会报错

del d['name']

d={'name':'kyle','age':18}
del d ['name']
print(d)

popitem()

随机删除字典中的一个键值对,删除之后,它会将删除的key-value作为返回值返回

返回的是一个元组,元组中有两个元素,第一个元素是删除的key,第二个是删除的value

d.popitem()

result=d.popitem()

d={'name':'kyle','age':18}
re=d.popitem()
print(d,re)

pop(key[,default])

根据key删除字典中的key-value

会将被删除的value返回!

如果删除不存在的key,会抛出异常;如果指定了默认值,再删除不存在的key时,不会报错,而是直接返回默认值

d={'name':'kyle','age':18,'address':'beijing'}
re=d.pop('name')
print(d,re)
c=d.pop('z','默认值')
print(d,c)

clear()用来清空字典

d.clear()

d={'name':'kyle','age':18}
d.clear()
print(d)

copy()

用来对字典进行浅复制

赋值以后的对象,和元对象是独立的,修改一个不会影响另一个

注意浅复制会简单赋值对象内部的值,如果值也是一个可变对象,这个可变对象不会被复制

d={'name':'kyle','age':18,'address':'beijing'}
re=d.copy()
d['name']='jessica'
print(re)
f={'name':{1:'apple',2:'kiwi'},'age':18,'address':'beijing'}
c=f.copy()
f['name'][1]='jessica'
f['age']=19
print(c)

遍历字典

keys()该方法会返回字典所有的key,该方法会返回一个序列,序列中会保存字典中所有的键

通过遍历keys()来获取所有的键

d={'name':'kyle','age':18,'address':'beijing'}
print(d.keys())



for k in d.keys():
    print(k,d[k])

values()

该方法会返回一个序列,序列中保存字典所有的值

d={'name':'kyle','age':18,'address':'beijing'}
print(d.values())



for k in d.values():
    print(k)

items()

会返回字典中所有的项,他会返回一个序列,序列中包含双值子序列

d={'name':'kyle','age':18,'address':'beijing'}
print(d.items())



for k,v in d.items():
    print(k,'=',v)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值