定义:
{key1:value1,key2:value2}
1、键与值用冒号“:”分开;
2、项与项用逗号“,”分开;
例子:
information = {
"name" : "nis",
"mission" : "xiaoshuai",
"age" : "26",
"hobbie" : "girl"
}
特性:
1.key-value结构
2.key必须为不可变数据类型、必须唯一
3.可存放任意多个value、可修改、可以不唯一
4.无序
5.查询速度快,且不受dict的大小影响
1.创建
>>>person = {"name": "alex", 'age': 20}
#或
>>>person = dict(name='seven', age=20)
#或
>>>person = dict({"name": "egon", 'age': 20})
#或
>>> {}.fromkeys([1,2,3,4,5,6,7,8],100)
{1: 100, 2: 100, 3: 100, 4: 100, 5: 100, 6: 100, 7: 100, 8: 100}
>>> n1 = {"name":"nis",'age':26}
>>> n1
{'name': 'nis', 'age': 26}
>>> n2 = dict(name='xiaodong',age=25)
>>> n3 = dict({"name":"chaoyang","age" : 27})
>>> {}.fromkeys([1,2,3,4,5],100)
{1: 100, 2: 100, 3: 100, 4: 100, 5: 100}
>>> dict(name="nis",age="19")
{'name': 'nis', 'age': '19'}
>>> d = dict(name="nis",age="19")
>>> d
{'name': 'nis', 'age': '19'}
>>> keys = [1,2,3,5]
>>> {}.fromkeys(keys)
{1: None, 2: None, 3: None, 5: None}
>>> {}.fromkeys(keys,100)
{1: 100, 2: 100, 3: 100, 5: 100}
2.增加
names = {
"nis": [23, "Linux", 66000],
"chaoyang": [24, "hegui", 4000],
}
# 新增k
names["yongkang"] = [26, "ceshi", 40000]
names.setdefault("xiaodong",[25,"yunwei",10000]) # D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
>>> name = {
... "nis" : [23,"linux",20000],
... "chaoyang" : [26,"hegui",10000]
... }
>>> name
{'nis': [23, 'linux', 20000], 'chaoyang': [26, 'hegui', 10000]}
>>> name["yongkang"] = [25,"diaosi",10000]
>>> name
{'nis': [23, 'linux', 20000], 'chaoyang': [26, 'hegui', 10000], 'yongkang': [25, 'diaosi', 10000]}
>>> name.setdefault("xiaodong",[25,"linux",12345])
[25, 'linux', 12345]
>>> name
{'nis': [23, 'linux', 20000], 'chaoyang': [26, 'hegui', 10000], 'yongkang': [25, 'diaosi', 10000], 'xiaodong': [25, 'linux', 12345]}
>>>
3.删除
names.pop("alex") # 删除指定key
names.popitem() # 随便删除1个key
del names["oldboy"] # 删除指定key,同pop方法
names.clear() # 清空dict
>>> name
{'nis': [23, 'linux', 20000], 'chaoyang': [26, 'hegui', 10000], 'yongkang': [25, 'diaosi', 10000], 'xiaodong': [25, 'linux', 12345]}
>>> name.pop("xiaodong") #删除指定key
[25, 'linux', 12345]
>>> name
{'nis': [23, 'linux', 20000], 'chaoyang': [26, 'hegui', 10000], 'yongkang': [25, 'diaosi', 10000]}
>>> name.popitem() #随机删除1个key
('yongkang', [25, 'diaosi', 10000])
>>> del name["chaoyang"] #删除指定key,同pop
>>> name
{'nis': [23, 'linux', 20000]}
>>> name.clear() #清空dict
>>> name
{}
4.修改
dic['key'] = 'new_value',如果key在字典中存在,'new_value'将会替代原来的value值;
dic.update(dic2) 将字典dic2的键值对添加到字典dic中
>>> name
{'nis': ['linux', 26, 30000], 'chaoyang': ['hehui', 27, 10000], 'xiaodong': ['linux', 25, 12000], 'yongkang': ['ceshi', 25, 10000]}
>>> name['nis'] = '["boss",27,1000000]',
>>> name
{'nis': ('["boss",27,1000000]',), 'chaoyang': ['hehui', 27, 10000], 'xiaodong': ['linux', 25, 12000], 'yongkang': ['ceshi', 25, 10000]}
>>> dic2 ={"xiaodong" : ["cto",26,12000]}
>>> name.update(dic2)
>>> name
{'nis': ('["boss",27,1000000]',), 'chaoyang': ['hehui', 27, 10000], 'xiaodong': ['cto', 26, 12000], 'yongkang': ['ceshi', 25, 10000]}
>>>
5.查
dic['key'] #返回字典中key对应的值,若key不存在字典中,则报错;
dic.get(key, default = None)#返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)
'key' in dic #若存在则返回True,没有则返回False
dic.keys() 返回一个包含字典所有KEY的列表;
dic.values() 返回一个包含字典所有value的列表;
dic.items() 返回一个包含所有(键,值)元组的列表;
>>> name
{'nis': ('["boss",27,1000000]',), 'chaoyang': ['hehui', 27, 10000], 'xiaodong': ['cto', 26, 12000], 'yongkang': ['ceshi', 25, 10000]}
>>> len(name)
4
>>> d
{'name': 'nis', 'age': 22}
>>> d.get("name")
'nis'
>>> d.get("names",1)
1
>>> name["nis"]
('["boss",27,1000000]',)
>>> 'nis' in name
True
>>> name.values()
dict_values([('["boss",27,1000000]',), ['hehui', 27, 10000], ['cto', 26, 12000], ['ceshi', 25, 10000]])
>>> name.keys()
dict_keys(['nis', 'chaoyang', 'xiaodong', 'yongkang'])
>>> name.items()
dict_items([('nis', ('["boss",27,1000000]',)), ('chaoyang', ['hehui', 27, 10000]), ('xiaodong', ['cto', 26, 12000]), ('yongkang', ['ceshi', 25, 10000])])
6.循环
for i in dic.keys()
for i,n in dic.items()
for i in dic #效率最快
info = {
"name" : "nis",
"age" : "26",
"hobbie" : "girl"
}
for i in info:
print(i,info[i])
7.长度
>>> len(dic)