
dic=dict()
dic={}
字典的值可以是任意对象,字典的键是任意的不可变对象且不能重复。
创建新的字典–使用dict()函数来创建,每一个参数都是一个键值对,参数名就是键,参数值就是值
d=dict(name='孙悟空',age=18,gender='男')
print(d)
#打印结果:{'name': '孙悟空', 'age': 18, 'gender': '男'}
创建新的字典–将一个包含有双值子序列的序列转换为字典
d=dict([('name','wang'),('age',18)])
print(d)
#打印结果:{'name': 'wang', 'age': 18}
len()获取字典中键值对的个数
d=dict([('name','wang'),('age',18)])
print(len(d))
#打印结果:2
获取字典里的值
d={'name':'wang'}
print(d['name'])
#打印结果:wang
获取字典中不存在的键
d={'name':'wang'}
print(d['sex'])
#打印结果:报错
#Traceback (most recent call last):
# File "/Users/xmly/PycharmProject/test2/0503.py", #line 60, in
# print(d['sex'])
#KeyError: 'sex'
get()获取字典中的值
d={'name':'wang'}
print(1,d.get('name'))
print(2,d.get('age'))
print(3,d.get('age','获取不到值时返回默认值'))
#打印结果:
1 wang
2 None
3 获取不到值时返回默认值
修改字典 d[key]=value ,如果key不存在就新增key和value,如果存在就修改key的value
d={'name':'wang'}
d['name']='william'
print(1,d)
d['age']=18
print(2,d)
#打印结果:
1 {'name': 'william'}
2 {'name': 'william', 'age': 18}
setdefault(key[,default])可以用来向字典中添加key-value,如果key已经存在于字典中,则返回key的值,不会对字典做任何 *** 作,如果key不存在,则在字典中添加这个key ,并设置value
d={'name':'william'}
result=d.setdefault('age',18)
print(1,result)
result2=d.setdefault('name','wang')
print(2,result2)
#打印结果
1 18
2 william
updata()方法:将其他的字典中的key-value添加到当前字典中,⚠️如果其他的字典中存在相同的key,会将原字典中的key对应的value更新
a={'name':'will'}
b={'age':'18'}
a.update(b)
print(a)
#打印结果:{'name': 'will', 'age': '18'}
del 删除字典中的key-value
d={'name':'wang','age':18,'gender':'male'}
del d['name']
popitem()删除随机删除字典中的一个键值对,一般都会删除最后一个键值对
d={'name':'wang','age':18,'gender':'male'}
d.popitem()
pop() 根据key删除字典中的key-value,会将被删除的value返回,如果删除不存在的key会抛出异常,如果使用pop()指定了默认值,再删除不存在的key时,不会报错,而是直接返回默认值。
d={'name':'wang','age':18,'gender':'male'}
result=d.pop('name')
result2=d.pop('address','这是默认值')
print(1,result)
print(2,result2)
#打印结果:
'''
1 wang
2 这是默认值
'''
clear()清空字典
d={'name':'wang','age':18,'gender':'male'}
d.clear()
copy() 用于字典的浅复制,复制以后的对象和原对象是独立的,修改一个不会影响另一个
但是⚠️:浅复制只会简单复制对象内部的值,如果值也是一个可变对象,这个可变对象不会被复制
d={'a':{'name':'wang','age':20},'age':18,'gender':'male'}
d2=d.copy()
print(id(d))
print(id(d2))
#打印结果
'''
140214646828320
140214646837408
'''
#这时如果改变d2中的a这个key的value
d2['a']['name']='william'
print(d2)
#打印结果:发现可以被改动,印证了“浅复制只会简单复制对象内部的值,如果值也是一个可变对象,这个可变对象不会被复制”
{'a': {'name': 'william', 'age': 20}, 'age': 18, 'gender': 'male'}
遍历字典keys(),values(),items()
#keys()该方法会返回字典的所有的key,该方法会返回一个序列,序列中保存有字典的所有的键
d={'name':'wang','age':18,'gender':'male'}
print(d.keys())
#可以遍历获取
for key in d.keys:
print(key)
#values()该方法会返回字典的所有的value,该方法会返回一个序列,序列中保存有字典的所有的值
print(d.values())
#可以遍历获取
for value in d.values:
print(value)
#items()该方法会返回字典所有的items,该方法会返回一个序列,序列中保存有字典的所有的双值子序列
print(d.items())
#可以遍历获取
for key,value in d.items():
print(key,value)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)