前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python字典(Dictionary)

python字典(Dictionary)

作者头像
mwangblog
发布2018-07-04 11:34:59
7670
发布2018-07-04 11:34:59
举报
文章被收录于专栏:mwangblogmwangblogmwangblog

字典几乎可以存储任意类型对象。

列表的索引必须是整数,而字典的索引几乎可以是任何值。

字典可以看作是键(索引)的集合与值的集合的一种映射。每个键对应一个值,键与值之间的关系称为键值对(或者数据项)。

本文目录

  • 1 创建字典
  • 2 访问字典
  • 3 遍历字典
  • 4 修改字典

创建字典

字典内容使用大括号{}包起来,如下:

>>> age = {'zhao':24, 'qian':33, 'sun': 42 }
>>> age
{'zhao': 24, 'qian': 33, 'sun': 42}

我们创建了一个字典,并将其赋值给变量age。字典age中有三个键值对:

键值对

'zhao':24

'zhao'

24

'qian':33

'qian'

33

'sun'

'sun'

42

可以看到,在字典中,每个键值对使用逗号,分隔;键值对中使用键:值的格式。

当多次打印同一个字典,键值对出现的顺序并不一样:

>>> age
{'qian': 33, 'sun': 42, 'zhao': 24}
>>> age
{'sun': 42, 'zhao': 24, 'qian': 33}

这是因为字典不会保存键值对的顺序。

使用dict()可以创建一个空字典:

>>> dict()
{}

字典中键值对中的值的可变的,但是键是不可变的。字典中键值对中的键需要满足下面的条件:

  • 不允许同一个键出现两次。
  • 键不可变,可以用数字、字符串或者元组充当,列表则不行。

访问字典

访问字典非常容易,使用索引就可以:

>>> age
{'zhao': 24, 'qian': 33, 'sun': 42}
>>> age['zhao']
24
>>> age['sun']
42
>>> age[1]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 1

如果输入字典中没有的键,会给出错误。

遍历字典

直接使用变量遍历字典,其实是在遍历字典的键序列:

>>> age
{'zhao': 24, 'qian': 33, 'sun': 42}
>>> for name in age:
...     print (name + str(age[name]))
... 
zhao24
qian33
sun42

例子中,name每次循环都保存一个字典age的键,之后通过age[name]的方式取得其对应的值。需要注意的是,字典并不保存顺序,所以每次输出的顺序可能不一致。

使用Dict.keys()获取字典的键列表,使用Dict.values()获取字典的值列表:

>>> age
{'zhao': 24, 'qian': 33, 'sun': 42}
>>> age.keys()      # 将age的键作为列表返回
dict_keys(['zhao', 'qian', 'sun'])
>>> age.values()    # 将age的值作为列表返回
dict_values([24, 33, 42])

使用Dict.items()将字典作为列表返回,字典中的键值对以元组的形式保存在列表中:

>>> age
{'zhao': 24, 'qian': 33, 'sun': 42}
>>> age.items()
dict_items([('zhao', 24), ('qian', 33), ('sun', 42)])

这样,就可以使用多变量赋值的方法来遍历字典:

>>> age
{'zhao': 24, 'qian': 33, 'sun': 42}
>>> for name,agee in age.items():
...     print ("NAME: %s, AGE: %d." % (name,agee))
... 
NAME: zhao, AGE: 24.
NAME: qian, AGE: 33.
NAME: sun, AGE: 42.

上面的例子中,字典中的每个键值对都作为元组被赋值到变量元组(name,agee)中。

修改字典

为字典添加一个新的键值对:

>>> age
{'zhao': 24, 'qian': 33, 'sun': 42}
>>> age['li'] = 73
>>> age
{'zhao': 24, 'qian': 33, 'sun': 42, 'li': 73}

上例中为字典age添加了键值对'li':73

如果字典中已有指定的键,则为更新操作:

>>> age
{'zhao': 24, 'qian': 33, 'sun': 42, 'li': 73}
>>> age['li'] = 77
>>> age
{'zhao': 24, 'qian': 33, 'sun': 42, 'li': 77}

使用del语句删除字典中的值:

>>> del age['li']

或者删除字典:

>>> del age
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 mwangblog 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 字典几乎可以存储任意类型对象。
    • 创建字典
      • 访问字典
        • 遍历字典
          • 修改字典
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档