python_字典的基本知识

字典是一种,key-value的数据类型   { }
字典是无序的

info = {

	'stu001':"baigujing",
	'stu100': "tangseng",
	'stu101':"houzi",
	'stu102':"zhubajie",
	'stu103':"shaheshang"
	
}

print (info)
{'stu001': 'baigujing', 'stu100': 'tangseng', 'stu101': 'houzi', 'stu102': 'zhubajie', 'stu103': 'shaheshang'}

1.查找。取出键为stu003的值

print (info [stu103])
shaheshang

2.如果数据存在,就修改,不存在就创建一条新的

info ['stu103'] = "沙和尚"
print (info ['stu103'])

info ['stu002'] = "nverguo"
print (info)
沙和尚
{'stu001': 'baigujing', 'stu100': 'tangseng', 'stu101': 'houzi', 'stu102': 'zhubajie', 'stu103': '沙和尚', 'stu002': 'nverguo'}

3.删除

3.1 del

del info['stu002']
print (info)
{'stu001': 'baigujing', 'stu100': 'tangseng', 'stu101': 'houzi', 'stu102': 'zhubajie', 'stu103': '沙和尚'}

3.2 pop

info ['stu002'] = "nverguo"
print (info)

info.pop('stu002')
print (info)
{'stu001': 'baigujing', 'stu100': 'tangseng', 'stu101': 'houzi', 'stu102': 'zhubajie', 'stu103': '沙和尚', 'stu002': 'nverguo'}
{'stu001': 'baigujing', 'stu100': 'tangseng', 'stu101': 'houzi', 'stu102': 'zhubajie', 'stu103': '沙和尚'}

4.查找,元素是键

4.1 get

print(info.get ('stu001'))
print (info.get ('stu002'))  # 找不到就none
baigujing
None

4.2 in

#查找。打印true或者false
print ('stu001' in info)
print ('stu002' in info)
True
False

5. 多级字典的嵌套及操作

av_catalog = {
	
	"欧美":{
		"www.youporn.com":["很多免费的。世界最大","质量一般"],
		"www.pornhub.com":["很多免费的,也很大","质量比yourporn高"],
		"letmedothistoyou.com":["多自拍,质量高","资源少,更新慢"],
		"x-art.com":["质量高,非常高","收费!屌丝绕路"]
	},
	"日韩":{
		"tokyo-hot":["没看过,不喜欢日本","据说收费"]
	},
	"大陆":{
		"1024":["全部免费","好人一生平安","服务器在国外,慢"]
	}
}

print (av_catalog)
{'欧美': {'www.youporn.com': ['很多免费的。世界最大', '质量一般'], 'www.pornhub.com': ['很多免费的,也很大', '质量比yourporn高'], 'letmedothistoyou.com': ['多自拍,质量高', '资源少,更新慢'], 'x-art.com': ['质量高,非常高', '收费!屌丝绕路']}, '日韩': {'tokyo-hot': ['没看过,不喜欢日本', '据说收费']}, '大陆': {'1024': ['全部免费', '好人一生平安', '服务器在国外,慢']}}

5.1 修改元素

av_catalog["大陆"]["1024"][1] = '好人一生平安,楼主好人'
print (av_catalog)
{'欧美': {'www.youporn.com': ['很多免费的。世界最大', '质量一般'], 'www.pornhub.com': ['很多免费的,也很大', '质量比yourporn高'], 'letmedothistoyou.com': ['多自拍,质量高', '资源少,更新慢'], 'x-art.com': ['质量高,非常高', '收费!屌丝绕路']}, '日韩': {'tokyo-hot': ['没看过,不喜欢日本', '据说收费']}, '大陆': {'1024': ['全部免费', '好人一生平安,楼主好人', '服务器在国外,慢']}}

5.2 修改元素

#没有taiwan,就增加
av_catalog.setdefault("taiwan",{"www.baidu.com":["好用神器","速度极快"]})
print (av_catalog)
print ('-----------------------------')
#有大陆,那就不改动了
av_catalog.setdefault("大陆",{"www.baidu.com":["好用神器","速度极快"]})
print (av_catalog)
{'欧美': {'www.youporn.com': ['很多免费的。世界最大', '质量一般'], 'www.pornhub.com': ['很多免费的,也很大', '质量比yourporn高'], 'letmedothistoyou.com': ['多自拍,质量高', '资源少,更新慢'], 'x-art.com': ['质量高,非常高', '收费!屌丝绕路']}, '日韩': {'tokyo-hot': ['没看过,不喜欢日本', '据说收费']}, '大陆': {'1024': ['全部免费', '好人一生平安,楼主好人', '服务器在国外,慢']}, 'taiwan': {'www.baidu.com': ['好用神器', '速度极快']}}
-----------------------------
{'欧美': {'www.youporn.com': ['很多免费的。世界最大', '质量一般'], 'www.pornhub.com': ['很多免费的,也很大', '质量比yourporn高'], 'letmedothistoyou.com': ['多自拍,质量高', '资源少,更新慢'], 'x-art.com': ['质量高,非常高', '收费!屌丝绕路']}, '日韩': {'tokyo-hot': ['没看过,不喜欢日本', '据说收费']}, '大陆': {'1024': ['全部免费', '好人一生平安,楼主好人', '服务器在国外,慢']}, 'taiwan': {'www.baidu.com': ['好用神器', '速度极快']}}

5.3 分别打印所有的value、key

#打印所有的value
print (info.values())
#打印所有的值key
print (info.keys())
dict_values(['baigujing', 'tangseng', 'houzi', 'zhubajie', '沙和尚'])
dict_keys(['stu001', 'stu100', 'stu101', 'stu102', 'stu103'])

6. update 字典的更新

info = {

	'stu001':"baigujing",
	'stu100': "tangseng",
	'stu101':"houzi",
	'stu102':"zhubajie",
	'stu103':"shaheshang"
	
}
b = {

	'stu001':"白骨精",
	'1':2,
	'2':3
}

print (info)
print (b)
info.update (b)
print (info)
{'stu001': 'baigujing', 'stu100': 'tangseng', 'stu101': 'houzi', 'stu102': 'zhubajie', 'stu103': 'shaheshang'}
{'stu001': '白骨精', '1': 2, '2': 3}
{'stu001': '白骨精', 'stu100': 'tangseng', 'stu101': 'houzi', 'stu102': 'zhubajie', 'stu103': 'shaheshang', '1': 2, '2': 3}

7. 字典的循环

for i in info :
	print (i)   # 打印键
	print (i , info[i])
stu001
stu001 白骨精
stu100
stu100 tangseng
stu101
stu101 houzi
stu102
stu102 zhubajie
stu103
stu103 shaheshang
1
1 2
2
2 3

 

你可能感兴趣的:(Python基础知识)