美文网首页
4种Python字典查询键值对方法

4种Python字典查询键值对方法

作者: 可可里西 | 来源:发表于2021-12-05 11:03 被阅读0次

    查找是我们所有数据类型学习中的重点,字典也不例外,用不同的方法从不同的维度查找,应有尽有。下面就从简到难一步一步来学习字典的查询方法

    1.使用键查找单个值

    dict5 = {'name': 'Tom', 'age': 18, 'love': 'python'}
    print(dict5['age'])  # 使用键查找值
    
    返回结果:18
    

    2.使用get()方法查找键对应的值

    dict5 = {'name': 'Tom', 'age': 18, 'love': 'python'}
    print(dict5.get('age'))   
    # 利用get函数使用键查找值,如果key不存在返回None
    print(dict5.get('age', '默认值'))  
    # 如果键不存在,设置返回默认值
    
    返回结果:18
    

    3.使用setdefault()查找

    setdefault和get函数差不多,但是如果键不存在,则查找的内容当做键放入字典,并设置默认值,不设置为None

    dict5 = {'name': 'Tom', 'age': 18, 'love': 'python'}
    print(dict5.setdefault('age2'))
    
    age2不存在,返回None
    

    4.查询所有键和值以及键值对

    dict5 = {'name': 'Tom', 'age': 18, 'love': 'python'}
    # keys()  # 获取所有的键,返回列表
    print(dict5.keys())
    # values()  # 获取所有的值,返回列表
    print(dict5.values())
    # items()  # 获取所有键值对,返回元祖组成的列表
    print(dict5.items())
    

    返回结果:

    dict_keys(['name', 'age', 'love', 'age2'])
    dict_values(['Tom', 18, 'python', None])
    dict_items([('name', 'Tom'), ('age', 18), ('love', 'python'), ('age2', None)])
    

    从上面的返回结果中发现有三种不同的数据类型:dict_keys(),dict_values(),dict_items(),这样的数据是没有办法按照列表下标进行访问的。

    v = dict5.values()
    print(v[1])
    

    返回结果:

    TypeError: 'dict_values' object is not subscriptable
    

    这时候我们可以转换为元祖后再访问试试

    list_v = list(v)
    print(list_v[1])
    
    返回结果:18
    

    相关文章

      网友评论

          本文标题:4种Python字典查询键值对方法

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