Python字典的例子

一个简单的字典

>>> alien_0 = {'color': 'green','point':5}
>>> print(alien_0['color'])
green
>>> print(alien_0['point'])
5

在Python中,字典是一系列键值对,每个键都与一个值相关联,你可以使用键来访问相关联的值。与键相关联的值可以是数、字符串、列表乃至字典。

添加键值对

>>> print(alien_0)
{'color': 'green', 'point': 5}
>>> alien_0['x_position']=0
>>> alien_0['y_position']=25
>>> print(alien_0)
{'color': 'green', 'point': 5, 'x_position': 0, 'y_position': 25}

创建一个空字典

>>> alien_0 = {}

修改字典中的值

>>> alien_0['color']='green'
>>> print(alien_0['color'])
green
>>> alien_0['color']='yellow'
>>> print(alien_0['color'])
yellow

删除键值对

>>> alien_0={'color':'green','points':8}
>>> print(alien_0)
{'color': 'green', 'points': 8}
>>> del alien_0['color']
>>> print(alien_0)
{'points': 8}

由类似对象组成的字典

>>> favorite_language = {
...     'jen':'python',
...     'sarah':'c',
...     'edward':'ruby',
...     'phil':'python',
...     }
>>> print(favorite_language['sarah'])
c

使用get()来访问值

方法get()的第一个参数用于指定键,是必不可少的;第二个参数为指定的键不存在时要返回的值,是可选的。

>>> alien_0={'color':'green','speed':'slow'}
>>> point_value = alien_0.get('points','No point value assigned.')
>>> print(point_value)
No point value assigned.

遍历字典

遍历所有的键值对

>>> user_0 = {
...     'username':'efermi',
...     'first':'enrico',
...     'last':'fermi',
...     }
>>> for key,value in user_0.items():
...     print(f"\nKey:{key}")
...     print(f"\nValue:{value}")
...

Key:username

Value:efermi

Key:first

Value:enrico

Key:last

Value:fermi

遍历字典中的所有键

在不需要使用字典中的值时,方法keys()很有用。

>>> favorite_languages = {
...     'jen':'python',
...     'sarah':'c',
...     'edward':'ruby',
...     'phil':'python',
...     }
>>> for name in favorite_languages.keys():
...     print(name.title())
...
Jen
Sarah
Edward
Phil
>>> friends = ['phil','sarah']
>>> for name in favorite_languages.keys():
...     print(f"Hi {name.title()}.")
...     if name in friends:
...         language = favorite_languages[name].title()
...         print(f"\t{name.title()}.I see you love {language}!")
...
Hi Jen.
Hi Sarah.
        Sarah.I see you love C!
Hi Edward.
Hi Phil.
        Phil.I see you love Python!

按照特定顺序遍历字典中的所有键

遍历字典时按插入的顺序返回其中的元素。不过在有些情况下,你可能要按与此不同的顺序遍历字典。

要以特定顺序返回元素,一种办法是在for循环中对返回的键进行排序。为此,可使用函数sorted()来获得按特定的顺序排列的键列表的副本。

>>> for name in sorted(favorite_languages.keys()):
...     print(f"{name.title()},thank you for taking the poll.")
...
Edward,thank you for taking the poll.
Jen,thank you for taking the poll.
Phil,thank you for taking the poll.
Sarah,thank you for taking the poll.

遍历字典中的所有值

如果主要对字典包含的值感兴趣,可使用方法values()来返回一个值列表,不包含任何键。

>>> for language in favorite_languages.values():
...     print(language.title())
...
Python
C
Ruby
Python

这种做法提取字典中的所有值,而没有考虑是否重复。为剔除重复项,可使用集合set()。集合中的每个元素都必须是独一无二的。

>>> for language in set(favorite_languages.values()):
...     print(language.title())
...
C
Ruby
Python

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值