python中唯一的映射类型,采用键值(key-value)对的方式存储数据,python中通过对key进行哈希函数运算,根据计算结果得到value值得存储位置。这样就要求key值必须是可哈希的。可哈希代表着key必须唯一是不可变类型,如:数字,字符,元组(只读列表,用( )表示)
列表是有序的对象集合,元素通过索引(偏移)来查询
字典是无序的对象集合,元素通过key来查询
字典用{}表示
dic = {'name':'小牧','age':12} # 这是一个字典
print(dic) # 输出结果 {'name': '小牧', 'age': 12}
dic = {'name':'小牧','age':12}
dic['job'] = 'work'
print(dic) # 输出结果 {'name': '小牧', 'age': 12, 'job': 'work'}
ret = dic.setdefault('address','china')
print(ret) # 输出结果 china 所添加的值
print(dic) # 输出结果 {'name': '小牧', 'age': 12, 'job': 'work', 'address': 'china'}
# 重复添加验证
dic.setdefault('address','china')
print(dic) # 输出结果{'name': '小牧', 'age': 12, 'job': 'work', 'address': 'china'}
dic = {'name': '小牧', 'age': 12, 'job': 'work', 'address': 'china'}
print(dic['name']) #输出结果 小牧
dic = {'name': '小牧', 'age': 12, 'job': 'work', 'address': 'china'}
print(dic.keys()) #输出结果 dict_keys(['name', 'age', 'job', 'address'])
dic = {'name': '小牧', 'age': 12, 'job': 'work', 'address': 'china'}
print(dic.values()) #输出结果 dict_values(['小牧', 12, 'work', 'china'])
dic = {'name': '小牧', 'age': 12, 'job': 'work', 'address': 'china'}
print(dic.items()) #输出结果 dict_items([('name', '小牧'), ('age', 12), ('job', 'work'), ('address', 'china')])
注意:items() keys() values()得到的返回值并不是list,需要转换形如:list(dic.key)
dic = {'name': '小牧', 'age': 12, 'job': 'work', 'address': 'china'}
dic['name'] = '小王'
print(dic)
dic = {'name': '小牧', 'age': 12, 'job': 'work', 'address': 'china'}
a = {'name':'小黄','t':1,'f':3}
dic.update(a)
print(dic) # 输出结果 {'name': '小黄', 'age': 12, 'job': 'work', 'address': 'china', 't': 1, 'f': 3}
dic = {'name': '小黄', 'age': 12, 'job': 'work', 'address': 'china', 't': 1, 'f': 3}
del dic['t']
print(dic) # 输出结果 {'name': '小黄', 'age': 12, 'job': 'work', 'address': 'china', 'f': 3}
dic = {'name': '小黄', 'age': 12, 'job': 'work', 'address': 'china', 'f': 3}
print (dic.pop('f')) # 输出结果 3
print(dic) # 输出结果 {'name': '小黄', 'age': 12, 'job': 'work', 'address': 'china'}
dic = {'name': '小黄', 'age': 12, 'job': 'work', 'address': 'china', 'f': 3}
print(dic.clear()) # 输出结果 None
cc = {
'c':{
'h':'china'
},
'u':{
's':'usa'
},
'c':{
'a':'canada'
}
}
print(cc) # 结果 {'c': {'a': 'canada'}, 'u': {'s': 'usa'}}
sorted()默认的为根据key排序,如果想改为value可以修改参数 例如:sorted(dic.value())
dic = {'name': '小黄', 'age': '12', 'job': 'work', 'address': 'china', 'f': '3'}
print(sorted(dic)) #排序结果 ['address', 'age', 'f', 'job', 'name']
print(sorted(dic.values())) #排序结果 ['12', '3', 'china', 'work', '小黄']
for i in dic:
print(i) #默认为健
print(i,dic[i]) # 得到key和value
for i,v in dic.items():
print(i,v) # 得到key和value
end!