字典是无序的.key值是唯一的而且是不能修改的数据类型如:数字、字符串、元组.value是可以为列表,字典,整型,字符串,元组。
先介绍一下字典的一些内置函数和内置方法.
内置函数:
cmp(dict1, dict2) #比较两个字典元素。
len(dict) #计算字典元素个数,即键的总数。
str(dict) #输出字典可打印的字符串表示。
type(variable) #返回输入的变量类型,如果变量是字典就返回字典类型
内置方法:
dict.copy() # 返回一个字典的浅复制
dict.fromkeys() # 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dict.has_key() # 如果键在字典dict里返回true,否则返回false
dict.items() # 以列表返回可遍历的(键, 值) 元组数组
dict.keys() # 以列表返回一个字典所有的键
dict.setdefault(key, defalut = None) # 和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
dict.update(dict2) # 把字典dict2的键值对更新到dict里
dict.values() # 以列表返回字典中的所有值
#字典/创建一个空字典 dic = {} key:value
dic = {'name':'wuchao', 1:24, 'gender':'male'}
#添加元素
dic['habbit'] = 'many'
print(dic)
#修改
dic['habbit'] = 'none'
print(dic)
#删除
dic.pop('habbit')#或者 del dic['habbit']
print(dic)
#查找
#按照key值查找
print(dic[1])
print('---------')
print(dic.get('gender'))
print('---------')
print('name' in dic)
print('---------')
print(dic.values())
print('---------')
print(dic.keys())
#遍历key-value
for k, v in dic.items():
print(k,v)
print('---------')
#遍历key
for key in dic.keys():
print(key, dic[key])
#遍历value
for value in dic.values():
print(value)
print('---------')
#清空字典
print(dic.clear())
#字典的多级嵌套
av_catalog={
"欧美":{
"www.youporn.com":["很多免费的,世界最大的","质量一般"],
"www.pornhub.com":["很多免费,也很大","比youporn高点"],
"letmedothistoyou.com":["多是自拍,高质量图片很多","资源丰富"]
},
"日韩":{
"tokyo-hot":["质量不清楚,个人已经不喜欢日韩","听说是收费的"],
},
"大陆":{
"1024":["全部免费。真好好人一生平安","服务器在国外,慢"]
}
}
print(av_catalog)
#修改多级嵌套
av_catalog["大陆"]["1024"][1]="可以在国内做镜像"
print(av_catalog)
#合并字典
info ={
'stu1001':"TengLan Wu",
'Stu1002':"Longze Loula",
'stu1103':"XiaoZe Maliya",
}
b={
'stu1001':"liang",
1:2,
2:5
}
print(info)
print('-------------')
print(b)
info.update(b) #会覆盖之前有的key的value
print(info)
#字典转列表
#对应的key-value形成一个元素.
print(info.items())
#fromkeys初始化一个新的字典,前面列表表示keys,后面表示value
c = info.fromkeys([6,7,8],['test1','test2',{'name':'wu'}])
print(c)