python_字典操作详解04

#字典属于一种新的数据结构,称为映射(mapping)
#列表存储数据的性能很好,查询数据的性能很差
#字典中,每一个元素都有唯一的一个名字,查询很好,但存储比较差

#唯一的名字 key
#这个对象  value
#所以字典称为键值对  (key-value)
#每个字典中有多个键值对,每个键值对称为 item

d = {} #创建了一个字典
#语法  {key:value, key:value}

#字典的值可以为任何对象
#字典的建可以时任意不可变对象 (int ,str, bool...tuple)     不可以为list   一般用str
#字典的键不可以重复 ,后面的会覆盖掉前面
d = {
'name':'孙悟空',
'sex':'male'
}
print(d) 

#根据键 获取值
print(d['name'])


#创建字典
#使用 {}
d = {}

#使用dict() 函数创建  这种方式创建的key都是str
d = dict(name = 'alex',age = 18, gender = 'male') 

#也可以将一个双值子序列转换为字典 [1,2] 'ab'  ('a',3)
#序列元素也是序列叫做子序列 [[1,2],[2,3]]

d = dict([['name','alex'],('age',18)])

#len()获取键值对的个数

print(len(d))
# in  not in检查字典中是否包含指定的键

#获取字典中的值通过key 为索引
#通过[]获取值时,如果key不存在,会抛出异常
#get(key,[, default]) 用该方法获取字典中的值   key不存在不抛出异常,会输出default
print(d.get('name'))
print(d.get('lover'))


#修改字典
#d[key] = value  修改/增加

#setdefault(key,[,default]) 该方法向字典中添加key-value
#如果key存在,不会进行任何操作
#key不存在,则添加
d.setdefault('name','bob')
d.setdefault('lover','nono')
print(d)

#d.update([other]) 将其他字典中的key-value 添加到字典中,如果有重复的key other替换s中的
w = {'a':1,'b':2}
d.update(w)
print(d)


#删除  del   key-value
del d['a']

#方法
#popitem() 随机删,一般是最后一个
#删除之后 会有一个元组作为返回值
res = d.popitem()
print(res)

#pop(key[,default])  
res = d.pop('b','dddd')
print(res)

#clear() 清空字典
# d.clear()
# print(d)

#copy() 该方法对字典进行浅复制  id不一样  
#浅复制只是简单复制内部对象值  如果值也是一个可变对象,这个可变对象不会被对象
d2 = d.copy()

#遍历字典
# keys() 返回字典中所有的key  返回一个序列,保存字典中所有的key
# values() 返回字典中所有value
# items()  返回字典中所有的项,返回一个序列,子序列是双值序列 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值