字典的操作

字典的两大特点:无序,键唯一
通过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()
随机返回并删除字典中的一对键和值(一般删除末尾对)。
posted @ 2018-05-24 14:53  叫我大表哥  阅读(218)  评论(0编辑  收藏  举报