字典:
创建方式:
1、正常创建
a = {'name': 'azj', 'age': 23, 'mail': 'azj@163.com'}
2、通过工厂函数dict创建
a = dict((['name', 'azj'], ['age', 23], ['email', 'azj@163.com']))
3、
a = {}.fromkeys(('azj', 'tom', 'lili'), 11)
{'azj': 11, 'tom': 11, 'lili': 11}
>>> a = {'name': 'azj', 'age': 23}
>>> a
{'name': 'azj', 'age': 23}
>>> '%(name)s:%(age)s' % a
'azj:23'
修改: adict = {'name': 'azj', 'age': 26}
adict {'name': 'azj', 'age': 26} adict['age'] = 22 adict {'name': 'azj', 'age': 22} adict['phone'] = '15901037927' #字典里有这个字段修改,没有则添加该字段 adict {'name': 'azj', 'age': 22, 'phone': '15901037927'}
删除: adict {'name': 'azj', 'age': 22, 'phone': '15901037927'}
adict.pop('name') #pop默认弹出并删除最后一项,在字典里应为字典是无序的所以需要指定弹出的字段信息 'azj' adict {'age': 22, 'phone': '15901037927'} adict.popitem() ###随机删除并弹出一项内容 ('phone', '15901037927') adict {'age': 22} adict.clear() #清空列表 adict {} del adict #删除列表 adict
len(字典) #统计字典内的元素数目
>>> len(adict)
2
字典的复制:
a = {'name': 'azj', 'age': 23} a {'name': 'azj', 'age': 23} b = a #内容赋值,指向相同的内存空间 b {'name': 'azj', 'age': 23} a {'name': 'azj', 'age': 23} id(a) 140165656248536 id(b) 140165656248536 c = a.copy() c {'name': 'azj', 'age': 23} id(c) 140165656248752
XXX.get('key',[]) #列出字典的value,如果没有该key则默认返回none,自定义返回信息[]
dict {'name': 'azj', 'age': 26} dict.pop('age') 26 dict {'name': 'azj'} dict.get('name') 'azj' dict.get('age') dict.get('age', 'not found') 'not found'
XXX.setdefault() #当字典里面没有该值的情况下进行添加,有的话则无法添加
dict {'name': 'azj'} dict.setdefault('age', 26) 26 dict {'name': 'azj', 'age': 26} dict.setdefault('age', 25) 26 dict {'name': 'azj', 'age': 26} dict.keys() #列出当前字典所有的key dict_keys(['name', 'age']) dict.values() #列出当前字典的所有value dict_values(['azj', 26]) dict.items() #列出当前字典的key和value dict_items([('name', 'azj'), ('age', 26)])
##key,value翻转
{value:key for key, value in dict.items()} {'azj': 'name', 26: 'age'} #互换的时候注意,value相同会产生元素丢失的现象 a = {}.fromkeys(('tom', 'bob', 'lili'), 18) a {'tom': 18, 'bob': 18, 'lili': 18} {val: key for key, val in a.items()} {18: 'lili'}
字典的拼接:
a = {'name': 'azj'} a {'name': 'azj'} b = {'age': 26} a.update(b) a {'name': 'azj', 'age': 26}