python之路-07-字典,,注:无序的,不需要下


注:无序的,不需要下标。可嵌套列表、字典等

字典一种key - value 的数据类型,使用key来找值

语法:

info = {

‘stu1101‘: "TengLan Wu",

‘stu1102‘: "LongZe Luola",

‘stu1103‘: "XiaoZe Maliya",

}

7.1查询

print(info["stu1101"])

>>>>TengLan Wu

注:若key不存在则报错

print(info.get(‘stu1103‘))

>>>None

注:若key不存在,则返回none,不报错

判断key是否在字典中

print(‘stu1104‘ in info) #info.has_key("stu1104") #在python2.xi的写法

注:若在字典里有,返回true,否则返回false

7.2修改

info["stu1101"] = "武藤兰"

print(info)

>>>>{‘stu1101‘: ‘武藤兰‘, ‘stu1102‘: ‘LongZe Luola‘, ‘stu1103‘: ‘XiaoZe Maliya‘}

注:若key存在则修改key值,若key不存在,则增加key和值

7.3删除

示例1:

del info["stu1101"]
print(info)

>>>{‘stu1102‘: ‘LongZe Luola‘, ‘stu1103‘: ‘XiaoZe Maliya‘}

示例2:

info.pop("stu1102") #删除key为stu1101的值
print(info)

示例3:

info.popitem() #随便删
print(info)

7.4多级字典嵌套及操作

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

7.4.1 修改


#av_catalog["大陆"]["1024"][1] = "可以用爬虫爬下来"

7.4.2 查询


#print(av_catalog["大陆"]["1024"])


7.4.3 查询values值


#values
print(av_catalog.values())
print((av_catalog)["大陆"].values())

7.4.4 查询keys值


#keys
print(av_catalog.keys())
print((av_catalog)["大陆"].keys())
7.4.5 设置默认值
#setdefault
print(av_catalog["大陆"].setdefault("1024","www.baidu.com"))
print(av_catalog["大陆"].setdefault("1025","www.baidu.com"))
print((av_catalog)["大陆"].keys())
###如果能取到值,则返回原来的值。如果不能取到,则新增一个值
#update
b = {
#"台湾":{
"大陆":{
"www.12306.com":["买票软件","快来买票了"]
}
}
7.4.6 合并
av_catalog.update(b) #若存在相同的key,则更新values。若不存在则创建key和values
print(av_catalog)

7.4.5 将字典转换成列表
#items 将字典转换成列表
print(av_catalog.items())

7.4.6 初始化字典


#fromkeys 初始化字典
print(dict.fromkeys([1,2,3,4],))

7.4.7字典循环

info = {
‘stu1101‘: "TengLan Wu",
‘stu1102‘: "LongZe Luola",
‘stu1103‘: "XiaoZe Maliya",
}

示例1:(最优方式)

for i in info:

Print(i,info[i])

示例2:

for k,v in info.items():
print(k,v)

python之路-07-字典

评论关闭