Python 中的字典与恒等运算符的使用

字典

  • 字典是可变数据类型,其中存储的是唯一键到值的映射。

    elements = {"hydrogen": 1, "helium": 2, "carbon": 6}
  • 字典的键可以是任何不可变类型,例如整数或元组,而不仅仅是字符串。甚至每个键都不一定要是相同的类型!

    print(elements["helium"])  # 2
  • 我们可以使用方括号并在括号里放入键,查询字典中的值或向字典中插入新值

    elements["lithium"] = 3
  • 使用关键字 in 检查值是否在字典中。字典有一个也很有用的相关方法,叫做 getget 会在字典中查询值,但是和方括号不同,如果没有找到键,get 会返回 None(或者你所选的默认值)

    print("carbon" in elements) # True
    print(elements.get("dilithium")) # None
  • 如果你预计查询有时候会失败,get 可能比普通的方括号查询更合适,因为错误可能会使程序崩溃。

恒等运算符

  • 概念解释

    关键字 运算符
    is 检查两边是否恒等
    is not 检查两边是否不恒等
  • 可以使用运算符 is 检查某个键是否返回了 None, 或者使用 is not 检查是否没有返回 None

    n = elements.get("dilithium")
    print(n is None) # True
    print(n is not None) # False

字典和恒等运算符[相关练习]

  • 定义一个叫做 population 的字典

    
    #   Key     |   Value
    
    
    # Shanghai  |   17.8
    
    
    # Istanbul  |   13.3
    
    
    # Karachi   |   13.0
    
    
    # Mumbai    |   12.5
    
    
    population = {
      "Shanghai":17.8,
      "Istanbul":13.3,
      "Karachi":13.0,
      "Mumbai":12.5
    }
    print(population["Mumbaix"]) # 12.5
  • 以下哪些项可以用作字典的键?(请选中所有适用项。) Hint: 字典的键必须是不可变的,即所属的类型必须不可变。

    1. 可用 : str, int, float, tuples, bool
    2. 不可用 :list, set, dictionaries
  • 如果我们查找不在字典中的值,会发生什么?
    发生 KeyError

  • 字典有一个也很有用的相关方法,叫做 get。get 会在字典中查询值,但是和方括号不同,如果没有找到键,get 会返回 None(或者你所选的默认值)
    正确的使用方式:

    elements.get('dilithium') # None

    错误的使用方式:

    elements['dilithium'] # KeyError: 'dilithium'

    使用get并添加默认值, 当键没找到时,get 会返回该值。

    elements.get('kryptonite', 'There\'s no such element!') # "There's no such element!"

检查是否相等与恒等:== 与 is

  • 以下代码的输出是什么?

    a = [1, 2, 3]
    b = a
    c = [1, 2, 3]
    
    print(a == b) # True
    print(a is b) # True
    print(a == c) # True
    print(a is c) # False

猜你喜欢

转载自blog.csdn.net/tyro_java/article/details/80714863