zoukankan      html  css  js  c++  java
  • python 取出字典的键或者值/如何删除一个字典的键值对/如何遍历字典

    先定义一个字典并直接进行初始化赋值

    my_dict = dict(name="lowman", age=45, money=998, hourse=None)

    1.取出该字典所有的键: key_list = my_dict.keys() 返回的是列表

    my_dict = dict(name="lowman", age=45, money=998, hourse=None)
    key_list = my_dict.keys()
    print(list(key_list))

    输出:

    ['hourse', 'name', 'age', 'money']

    取出字典所有的键,这里其实还有一个方法, 就是使用内置函数set(), 将其转换为集合数据结构. 集合,其实可以理解为只有键的字典:

    item = {"name": "lowman", "age": 27}
    
    data = set(item)
    print(data)

     输出:

    {'age', 'name'}

    注意,这样输出的是集合类型

    2.取出该字典所有的值: value_list = my_dict.values() 返回的是列表

    my_dict = dict(name="lowman", age=45, money=998, hourse=None)
    value_list = my_dict.values() 
    print(list(value_list))

    输出:

    [None, 45, 'lowman', 998]

    注意:在python2环境中这两个方法返回的是列表,但是在python3环境下返回的却是迭代器,如果希望通过下标直接取到需要的元素,可以通过list()方法将其先转化为列表,再进行取值.

    3.取出字典某个键的值:

      value = my_dict["key"] 这样取值的话如果没有这个键就会抛出异常

    4.安全地取出字典某个键的值:

      这样取值的话如果没有这个键就返回None:value = my_dict.get("key") 

      也可以自定义一个默认值进行返回:value = my_dict.get("key", 默认值)

    5.遍历字典:

    for item in my_dict:
        print(item)

    输出:

    name
    hourse
    money
    age

    取出的是该字典的键

    6.自带方法 items() 可以同时取出键与值

      for key, value in my_dict.items():
    
        print(key,value)
    
      for item in my_dict.items():
    
        print(item) # 这样取值的话,返回的就是一个元组,里面包含两个元素,第一个是键,第二个为值 
    
     

    输出:

    hourse None
    money 998
    age 45
    name lowman
    
    ('hourse', None)
    ('money', 998)
    ('age', 45)
    ('name', 'lowman')

    7.删除一个字典的键值对:

      my_dict = {"name":"lowman", "age":12}

      del my_dict["name"]

      这样就把整个键值对给删除掉了

    8.Python 其实还可以定义有序字典,有兴趣的话请查看我的另一篇博客:https://www.cnblogs.com/lowmanisbusy/p/10257360.html

  • 相关阅读:
    Python-Collections模块之defaultdict
    Python-Collections模块之deque
    Python-Collections模块之NameTuple
    Python-Collections模块之OrderedDict
    @常见的远程服务器连接工具:Xshell与secureCRT的比较!!!(对于刚接触的测试小白很有帮助哦)
    告诉你:传统测试和敏捷测试的区别!!!(比较全的解答,一看便明白)
    @软件测试环境搭建的详细流程(初学者不要错过哦,很实用)!!!!
    Netlib文件转化为mps文件
    新设备关联Gitlab
    CMake与OpenMP
  • 原文地址:https://www.cnblogs.com/lowmanisbusy/p/9142199.html
Copyright © 2011-2022 走看看