字典的操作
字典的两大特点:无序,键唯一
通过dict 创建字典
>>> dic1 = dict((('name','szx'),('hoppy','123')))
>>> print(dic1)
{'name': 'szx', 'hoppy': '123'}
>>> dic1 = {'name':'szx','hoppy':'123'}
>>> print(dic1)
{'name': 'szx', 'hoppy': '123'}
字典的操作
1、增
>>> dic1 = {'name': 'szx'}
>>> dic1['age'] = 18
>>> print(dic1)
{'name': 'szx', 'age': 18}
>>> dic1.setdefault('age',34) #键存在,不改动,返回字典中相应的键对应的值;
18
>>> dic1.setdefault('hoppy','girl') #键不存在,在字典里增加新的键值对,并返回相应的值;
'girl'
2、查
通过键去查找值
>>> dic3 = {'name': 'szx','age':'18'}
>>> print(dic3['name'])
szx
查看字典中的键、值、键值对的方法:
>>> dic3 = {'name': 'szx','age':'18'} #查看字典中的键
>>> print(dic3.keys())
dict_keys(['name', 'age']) #取出的值不是列表
>>> print(list(dic3.keys())) #通过list 转换为列表
['name', 'age']
>>> print(dic3.values()) #查看字典中的所有值
dict_values(['szx', '18'])
>>> print(dic3.items()) #查看字典中的键值对
dict_items([('name', 'szx'), ('age', '18')])
3、改
>>> dic1 = {'name': 'szx'}
>>> dic1['name'] = '123' #取出键 并重新赋值
>>> print(dic1)
{'name': '123'}
update 键存在则更新,键不存在则添加
>>> dic4 = {'name': 'szx','age':'18'}
>>> dic5 = {'1':'222','age':'555'}
>>> dic4.update(dic5)
>>> print(dic4)
{'name': 'szx', 'age': '555', '1': '222'}
>>> print(dic5)
{'1': '222', 'age': '555'}
4、删
del #删除字典中指定的键值对
>>> dic6 = {'name': 'szx','age':'18'}
>>> del dic6['name']
>>> print(dic6)
{'age': '18'}
clear #清空字典
>>> dic6 = {'name': 'szx','age':'18'}
>>> dic6.clear()
>>> print(dic6)
{}
pop(删除指定的键值对,并返回该键值对的值) popitem(随机删除某组键值对,并返回值)
>>> dic6 = {'name': 'szx','age':'18'}
>>> reg = dic6.pop('name')
>>> print(reg) # 返回删除的值
szx
>>> print(dic6)
{'age': '18'}
del #删除整个字典
>>> dic6 = {'name': 'szx','age':'18'}
>>> del dic6 #从内存删除,打印会出错
>>> print(dic6)
Traceback (most recent call last):
File "<pyshell#36>", line 1, in <module>
print(dic6)
NameError: name 'dic6' is not defined
字典的其它操作:
1、fromkeys创建字典
>>> dic7 = dict.fromkeys(['host1','host2','host3'],'test')
>>> print(dic7)
{'host1': 'test', 'host2': 'test', 'host3': 'test'}
>>> dic7 = dict.fromkeys(['host1','host2','host3'],['test1','test2'])
>>> dic7['host2'][1] = 'test3' #不能单独修改
>>> print(dic7)
{'host1': ['test1', 'test3'], 'host2': ['test1', 'test3'], 'host3': ['test1', 'test3']}
2、字典排序 sorted
>>> dic = {5:'555',2:'666',4:'444'}
>>> print(sorted(dic)) #键排序
[2, 4, 5]
>>> dic = {5:'555',2:'666',4:'444'}
>>> print(sorted(dic.values())) #值排序
['666', '444', '555']
>>> dic = {5:'555',2:'666',4:'444'}
>>> print(sorted(dic.items())) #键值对排序
[(2, '666'), (4, '444'), (5, '555')]
3、字典的遍历
>>> dic1 = {'name':'szx','hoppy':17}
>>> for i in dic1:
print(i,dic1[i])
name szx
hoppy 17
>>> dic1 = {'name':'szx','hoppy':17}
>>> for i,v in dic1.items():
print(i,v)
name szx
hoppy 17
字典内置函数&方法
Python字典包含了以下内置函数:
| 序号 | 函数及描述 | 实例 |
|---|---|---|
| 1 | len(dict) 计算字典元素个数,即键的总数。 |
>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> len(dict)
3
|
| 2 | str(dict) 输出字典,以可打印的字符串表示。 |
>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> str(dict)
"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"
|
| 3 | type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。 |
>>> dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
>>> type(dict)
<class 'dict'>
|
Python字典包含了以下内置方法:
| 序号 | 函数及描述 |
|---|---|
| 1 | radiansdict.clear() 删除字典内所有元素 |
| 2 | radiansdict.copy() 返回一个字典的浅复制 |
| 3 | radiansdict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
| 4 | radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值 |
| 5 | key in dict 如果键在字典dict里返回true,否则返回false |
| 6 | radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组 |
| 7 | radiansdict.keys() 以列表返回一个字典所有的键 |
| 8 | radiansdict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
| 9 | radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里 |
| 10 | radiansdict.values() 以列表返回字典中的所有值 |
| 11 | pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
| 12 | popitem() 随机返回并删除字典中的一对键和值(一般删除末尾对)。 |

浙公网安备 33010602011771号