美文网首页
2018-09-17——访问dict

2018-09-17——访问dict

作者: Ariel_wyy | 来源:发表于2018-09-17 20:21 被阅读0次

    d = {

        'Adam': 95,

        'Lisa': 85,

        'Bart': 59

    }

    使用 d[key] 的形式来查找对应的 value,这和 list 很像,不同之处是,list 必须使用索引返回对应的元素,而dict使用key:

    >>> print d['Adam']

    95

    >>> print d['Paul']

    Traceback (most recent call last):

      File "index.py", line 11, in <module>

        print d['Paul']

    KeyError: 'Paul'

    注意: 通过 key 访问 dict 的value,只要 key 存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError。

    要避免 KeyError 发生,有两个办法:

    一是先判断一下 key 是否存在,用 in 操作符:

    if 'Paul' in d:

        print d['Paul']

    如果 'Paul' 不存在,if语句判断为False,自然不会执行 print d['Paul'] ,从而避免了错误。

    二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:

    >>> print d.get('Bart')

    59

    >>> print d.get('Paul')

    None


    提取字典中的所有值,并剔除重复项,可使用集 合( set )。 集合 类似于列表,但每个元素都必须是独一无二的:

    favorite_languages = {

    'jen': 'python',

    'sarah': 'c',

    'edward': 'ruby',

    'phil': 'python',

    }

    print("The following languages have been mentioned:")

    ❶ for language in set(favorite_languages.values()):

    print(language.title())

    通过对包含重复元素的列表调用 set() ,可让 Python 找出列表中独一无二的元素,并使用这些元素来创建一个集合。在❶处,我们使用了 set() 来提

    取 favorite_languages.values() 中不同的语言。

    结果是一个不重复的列表,其中列出了被调查者提及的所有语言:

    The following languages have been mentioned:

    Python

    C

    Ruby

    相关文章

      网友评论

          本文标题:2018-09-17——访问dict

          本文链接:https://www.haomeiwen.com/subject/bzsdnftx.html