首页 > 编程语言 > 详细

Python基础(九):字典的使用

时间:2021-04-10 22:19:35      阅读:26      评论:0      收藏:0      [点我收藏+]

创建字典的5种方式

用{}创建字典

>>> a = {‘name‘:‘韩梅梅‘,‘age‘:18,‘job‘:‘teacher‘}
>>> print(a)
{‘name‘: ‘韩梅梅‘, ‘age‘: 18, ‘job‘: ‘teacher‘}
-----------------------------------------------------------
>>> b = {‘name‘:‘韩梅梅‘,‘age‘:18,‘job‘:[‘teacher‘,‘wife‘]}
>>> print(b)
{‘name‘: ‘韩梅梅‘, ‘age‘: 18, ‘job‘: [‘teacher‘, ‘wife‘]}

用 dict 创建字典

>>> c = dict(name=‘李雷‘,age=19)
>>> print(c)
{‘name‘: ‘李雷‘, ‘age‘: 19}
----------------------------------------------
>>> d = dict([(‘name‘,‘韩梅梅‘),(‘age‘,18)])
>>> print(d)
{‘name‘: ‘韩梅梅‘, ‘age‘: 18}

用 zip 函数创建字典

>>> x = [‘name‘,‘age‘,‘job‘]
>>> y = [‘韩梅梅‘,‘18‘,‘teacher‘]
>>> e = dict(zip(x,y))
>>> print(e)
{‘name‘: ‘韩梅梅‘, ‘age‘: ‘18‘, ‘job‘: ‘teacher‘}

用{},dict 创建空字典

>>> f = {}
>>> print(f)
{}
-----------------------
>>> g = dict()
>>> print(g)
{}

用 fromkeys 创建‘值为空‘的字典

>>> h = dict.fromkeys([‘name‘,‘age‘,‘job‘])
>>> print(h)
{‘name‘: None, ‘age‘: None, ‘job‘: None}

访问字典元素的4种方式

通过“ 键” 获取“ 值” 。若“ 键” 不存在,则抛出异常

>>> a = {‘name‘:‘韩梅梅‘,‘age‘:18,‘job‘:‘teacher‘}
>>> a[‘name‘]
‘韩梅梅‘
>>> a[‘age‘]
18
>>> a[‘job‘]
‘teacher‘
# 若键不存在,抛出异常。
>>> a[‘names‘]
Traceback (most recent call last): File "<pyshell#197>", line 1, in <module>   a[‘names‘]KeyError: ‘names‘

get()方法:强烈推荐的字典元素访问

优点:若‘键‘不存在,返回的是 None,而不是抛出异常。还可以设定,当‘键‘不存在时,自己设定默认的返回对象。

>>> b = {‘name‘:‘韩梅梅‘,‘age‘:18,‘job‘:[‘teacher‘,‘wife‘,‘sister‘]}
>>> b.get(‘name‘)
‘韩梅梅‘
# 若‘键‘不存在,返回的是 None,而不是抛出异常。
>>> b.get(‘sex‘)
>>> b.get(‘sex‘)
None
>>> if b.get(‘sex‘) == None:
...	print(‘我爱你‘)
我爱你
# 当‘键‘不存在时,自己设定默认的返回对象。
>>> b.get(‘sex‘,‘不存在‘)‘
不存在

用 items 获取‘ 所有的键值对’

>>> a = {‘name‘:‘韩梅梅‘,‘age‘:18,‘job‘:‘teacher‘}
>>> a.items()
dict_items([(‘name‘, ‘韩梅梅‘), (‘age‘, 18), (‘job‘, ‘teacher‘)])
>>> type(a.items())
<class ‘dict_items‘
>>>> for i in a.items():
...	print(i)
(‘name‘, ‘韩梅梅‘)
(‘age‘, 18)
(‘job‘, ‘teacher‘)

列出所得有‘键’:keys,列出所得有‘值’:values

>>> a = {‘name‘:‘韩梅梅‘,‘age‘:18,‘job‘:‘teacher‘}
>>> a.keys()
dict_keys([‘name‘, ‘age‘, ‘job‘])
>>> a.values()
dict_values([‘韩梅梅‘, 18, ‘teacher‘])

添加字典元素的2种方式

“ 键” 存在,则覆盖原有“ 键值对” 。“ 键” 不存在,新增键值对

格式:字典[‘键‘]:‘值’ 。

>>> a = {‘name‘:‘韩梅梅‘,‘age‘:18,‘job‘:‘teacher‘}
>>> a[‘job‘] = ‘sister‘ #覆盖原有“ 键值对”
>>> print(a)
{‘name‘: ‘韩梅梅‘, ‘age‘: 18, ‘job‘: ‘sister‘}
>>> a[‘height‘] = 170 #新增“ 键值对”
>>> print(a)
{‘name‘: ‘韩梅梅‘, ‘age‘: 18, ‘job‘: ‘sister‘, ‘height‘: 170}

使用 update 把 b 字典的所有‘ 键值对’ 添加到 a 字典中

格式:a.undate(b), 若果‘ 键值对重复’ ,直接覆盖;否则,合并。

>>> a = {‘name‘:‘韩梅梅‘,‘age‘:18,‘job‘:‘teacher‘}
>>> a
{‘name‘: ‘韩梅梅‘, ‘age‘: 18, ‘job‘: ‘teacher‘}
>>> b = dict([(‘job‘,‘Python‘),(‘weight‘,75),(‘height‘,170)])
>>> b
{‘job‘: ‘Python‘, ‘weight‘: 75, ‘height‘: 170}
>>> a.update(b)
>>> a
{‘name‘: ‘韩梅梅‘, ‘age‘: 18, ‘job‘: ‘Python‘, ‘weight‘: 75, ‘height‘: 170}

删除字典元素的4种方式

del 方法:删除指定的“ 键值对”

注:一旦删除‘ 键’ 和‘ 值’ 就消失了。

>>> a = {‘name‘:‘韩梅梅‘,‘age‘:18,‘job‘:‘teacher‘}
>>> del(a[‘job‘])
>>> print(a)
{‘name‘: ‘韩梅梅‘, ‘age‘: 18}

clear 方法:删除字典中所有的‘ 键值对’

注:删除所有的, 有点狠。

>>> b = dict([(‘job‘,‘Python‘),(‘weight‘,75),(‘height‘,170)])
>>> b{‘job‘: ‘Python‘, ‘weight‘: 75, ‘height‘: 170}>>> b.clear()>>> b{}

pop 方法:删除指定的‘ 键’

优点:“ 键” 删除后, 可以用一个“ 变量” 接收返回的“ 值” 。

>>> c = {‘name‘:‘李雷‘,‘age‘:18,‘job‘:‘teacher‘}
>>> cc = c.pop(‘name‘)
>>> cc
‘李雷‘
>>> c
{‘age‘: 18, ‘job‘: ‘teacher‘}

popitem 方法:随机删除和返回‘ 键值对’

注:字典是无序可变序列,没有第一个元素、最后一个元素的概念

>>> b = {‘name‘:‘韩梅梅‘,‘age‘:18,‘job‘:[‘teacher‘,‘wife‘]}
>>> bb = b.popitem()
>>> print(bb)
(‘job‘, [‘teacher‘, ‘wife‘])
>>> bbb = b.popitem()
>>> print(bbb)
(‘age‘, 18)
>>> bbbb = b.popitem()
>>> print(bbbb)
(‘name‘, ‘韩梅梅‘)
>>> bbbbb = b.popitem()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: ‘popitem(): dictionary is empty‘ 

序列解包:运用于字典(类似于赋值)

利用 items:把‘ 键值对’ 赋给 b,c,d,e,f…

>>> a = {‘name1‘:‘韩梅梅‘,‘name2‘:‘李雷‘,‘name3‘:‘阿亮‘,‘name4‘:‘荣哥‘}
>>> b,c,d,e = a.items()
>>> b,c
((‘name1‘, ‘韩梅梅‘), (‘name2‘, ‘李雷‘))

利用 keys:把‘ 键’ 赋给 g,h,i,j,k…

>>> a = {‘name1‘:‘韩梅梅‘,‘name2‘:‘李雷‘,‘name3‘:‘阿亮‘,‘name4‘:‘荣哥‘}
>>> g,h,i,j = a.keys()
>>> g,h
(‘name1‘, ‘name2‘)

利用 values:把‘ 键’ 赋给 l,m,n,o,p…

>>> a = {‘name1‘:‘韩梅梅‘,‘name2‘:‘李雷‘,‘name3‘:‘阿亮‘,‘name4‘:‘荣哥‘}
>>> l,m,n,o = a.values()
>>> l,m
(‘韩梅梅‘, ‘李雷)

Python基础(九):字典的使用

原文:https://www.cnblogs.com/pure3417/p/14642039.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!