python3 字典操作
字典:
創建方式:
1、正常創建
a = {‘name‘: ‘azj‘, ‘age‘: 23, ‘mail‘: ‘[email protected]‘}
2、通過工廠函數dict創建
a = dict(([‘name‘, ‘azj‘], [‘age‘, 23], [‘email‘, ‘[email protected]‘]))
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}
python3 字典操作