Python学习之字典10

Python 字典操作


字典的创建

dict = {key:value, ...}

说明:

key(键)的数据类型必须为不可改变的数据类型,如字符串,数字常量

dict = {'name':'alex','age':18}

向里面增加sex这个键值,有两种方法

dict['sex'] = 'male'  #第一种方法

dict.setdefault('sex','male') #第二种方法

对setdefault方法的说明:

  1. setdefault方法设置的键如果在字典中没有,则会将此方法设置的键值对加入其中,如果已经存在与字典中,则不会做任何的修改。
  2. setdefault方法有返回值,如果字典中有该键,则返回字典中该键对应的值,如果没有,则返回该方法设置的键对应的值。
dict = {'name':'alex'}

'''
由于字典中已经存在'name',所以不会做任何的修改,并返回'name'做对应的值'alex',所以ret = 'alex'
'''
ret = dict.setdefault('name','bobo')  

'''
由于dict中不存在'age'键,所以该键值会被添加到dict中,并返回'age'键所对应的值18,所以ret2 = 18
'''
ret2 = dict.setdefault('age',18) #ret2 = 18

直接通过键去查

dict['name']

1.直接用相应的键对其值赋值

dict['name'] = 'bobo'

2.使用updata()方法

dict = {'name':'alex'}
dict2 = {'name':'bobo','age':18}
dict.update(dict2)
print(dict)

#output:{'name': 'bobo', 'age': 18}

对update()方法的说明

  1. update()方法会对字典进行更新,如果字典中有更新内容的键,则将改键所对应的值进行更新,如果不存在,则在字典中加入该键值对
  2. 正如上面所示,‘name’键在字典中存在,则它所对应的值被更新为了’bobo’,而’age’键不存在,则在字典中加入了该键值对

del dict['name'] #将'name'的键值对删除

dict.clear() #清空字典,字典还在

dict.pop('age') #删除'age'所对应的键值对,并返回该键所对应的值

dict.popitem() #随机删除,并返回值

del dict #删除整个字典,字典不存在

其他操作

dict1 = dict.fromkeys(['host1','host2','host3'],'test')
print(dict1)

#output:
#{'host1': 'test', 'host2': 'test', 'host3': 'test'}

字典嵌套

av_catalog = {
    "欧美":{
        "www.yourporn.com": ["很多免费的,世界最大的","质量一般"],
        "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
        "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
        "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]
    },
    "日韩":{
        "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]
    },
    "大陆":{
        "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
    }
}

'''
对欧美下的www.yourporn.com的质量一般进行修改
'''
av_catalog['欧美']['www.yourporn.com'][1] = '高清无码'

字典的遍历

'''
打印出字典的键值对
'''
for i in dict
    print(i,dict[i])

for i,v in dict,items():
    print(i,v)
        
#建议使用第一种,效率高

猜你喜欢

转载自blog.csdn.net/The_last_knight/article/details/83211315
今日推荐