zoukankan      html  css  js  c++  java
  • python的字典

    1.一个简单的字典

    alien_0 = {'color': 'green', 'points': 5}
    print(alien_0['color'])
    print(alien_0['points'])
    字典alien_0存储了外星人的颜色和点数。使用两条print语句来访问并打印这些信息,如
    下所示:
    green
    5

    2.使用字典

    (1)在Python中,字典是一系列键—值对。每个键都与一个值相关联,你可以使用键来访问与之
    相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何Python对
    象用作字典中的值。
    在Python中,字典用放在花括号{}中的一系列键—值对表示

    (2)键—值对是两个相关联的值。指定键时,Python将返回与之相关联的值。键和值之间用冒号
    分隔,而键—值对之间用逗号分隔

    (3)访问字典中的值:

    要获取与键相关联的值,可依次指定字典名和放在方括号内的键.

    (4)添加键—值对:

    字典是一种动态结构,可随时在其中添加键—值对。要添加键—值对,可依次指定字典名、用
    方括号括起的键和相关联的值。

    (5)创建一个空字典

    使用字典来存储用户提供的数据或在编写能自动生成大量键—值对的代码时,通常都需要先
    定义一个空字典。例子: 变量名 = { } 即一个空字典就创建成功了。

    (6)修改字典中的值

    要修改字典中的值,可依次指定字典名、用方括号括起的键以及与该键相关联的新值。

    (7)删除建-值对

    对于字典中不再需要的信息,可使用del语句将相应的键—值对彻底删除。使用del语句时,
    必须指定字典名和要删除的键。

    例子

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

    运行结果

    {'color': 'green', 'points': 5}
    {'color': 'green'}

    (8)由类似对象组成的字典

    favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
    }
    正如你看到的,我们将一个较大的字典放在了多行中。其中每个键都是一个被调查者的名字,
    而每个值都是被调查者喜欢的语言。确定需要使用多行来定义字典时,在输入左花括号后按回车
    键,再在下一行缩进四个空格,指定第一个键—值对,并在它后面加上一个逗号。此后你再次按
    回车键时,文本编辑器将自动缩进后续键—值对,且缩进量与第一个键—值对相同。
    定义好字典后,在最后一个键—值对的下一行添加一个右花括号,并缩进四个空格,使其与
    字典中的键对齐。另外一种不错的做法是在最后一个键—值对后面也加上逗号,为以后在下一行
    添加键—值对做好准备。

    3.遍历字典

    (1)遍历所有的键—值对

    遍历字典的for循环,可声明两个变量,用于存储键—值对中的键和值。
    对于这两个变量,可使用任何名称 ,for语句的第二部分包含字典名和方法items()。

    形如  for k, v in user_0.items()

    (2)遍历字典中的所有键

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

    (3)按顺序遍历字典中的所有键

    字典总是明确地记录键和值之间的关联关系,但获取字典的元素时,获取顺序是不可预测的。
    这不是问题,因为通常你想要的只是获取与键相关联的正确的值。
    要以特定的顺序返回元素,一种办法是在for循环中对返回的键进行排序。为此,可使用函
    数sorted()来获得按特定顺序排列的键列表的副本

    (4)遍历字典中的所有值

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

    例子:for language in favorite_languages.values():

    这种做法提取字典中所有的值,而没有考虑是否重复。涉及的值很少时,这也许不是问题,
    但如果被调查者很多,最终的列表可能包含大量的重复项。为剔除重复项,可使用集合(set)。
    集合类似于列表,但每个元素都必须是独一无二

    例子:for language in set(favorite_languages.values()):

    4.嵌套

    (1)字典列表

    经常需要在列表中包含大量的字典,而其中每个字典都包含特定对象的众多信息

    (2)在字典中存储列表

    需要将列表存储在字典中,而不是将字典存储在列表中,列表和字典的嵌套层级不应太多。

    (3)在字典中存储字典

    注意,表示每位用户的字典的结构都相同,虽然Python并没有这样的要求,但这使得嵌
    套的字典处理起来更容易。倘若表示每位用户的字典都包含不同的键,for循环内部的代码将
    更复杂。

  • 相关阅读:
    WebStorm 在 Mac 版本的基本设置,包括 ES6、Node.js、字体大小等
    Mac 找文件或文件夹,以及开启其他程序,截图快捷键
    windows 全局安装 express 但无法命令行执行
    17_11_3 Mysql 联合查询
    17_11_1 Mysql 创建表并设置主键自增 + 排序 +外键
    PLC
    17_10_31 ./ ../ / ~/的区别
    17_10_30 Mac qq可以登录但是网页打不开
    17_10_26 面试汇总
    17_10_25 SSH 框架
  • 原文地址:https://www.cnblogs.com/cai-dreamstart/p/9567599.html
Copyright © 2011-2022 走看看