• python数据类型之字典


    字典定义

    字典是一种 key-value 的数据类型,这点很重要,是区别使用列表和字典的依据。

    语法格式:

    info = {
        'stu1101': "Aaron",
        'stu1102': "Jim",
        'stu1103': "Jack",
    }
    

     字典的特性

    • dict是无序的
    • key必须是唯一的,所以字典具有天生去重
    • 与键值向关联的值可以是数字,字符串和列表

    字典操作

    字典查找

    >>> "stu1102" in info   #标准查找用法
    True
    >>> info.get("stu1102")  #获取
    'Jim'
    >>> info["stu1102"] #同上,但是看下面
    'Jim'
    >>> info["stu1105"]  #如果一个key不存在,就报错,get不会,不存在只返回None
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    KeyError: 'stu1105'

    字典值添加

    >>> info["stu1104"] = "West"
    >>> print(info)
    {'stu1102': 'Jim', 'stu1104': 'West', 'stu1103': 'Jack', 'stu1101': 'Aaron'}
    

     字典值修改

    >>> info["stu1103"] = "West"
    >>> print(info)
    {'stu1102': 'Jim', 'stu1103': 'West', 'stu1104': 'JacWest'}
    

     字典值删除

    >>> info
    {'stu1102': 'Jim', 'stu1103': 'Jack', 'stu1101': 'Aaron'}
    >>> info.pop("stu1101")           #标准删除姿势
    'Aaron'
    >>> info
    {'stu1102': Jim', 'stu1103': 'Jack'}
    >>> del info['stu1103']             #永久删除
    >>> info
    {'stu1102': 'Jim'}
    
    >>> info = {'stu1102': 'Jim', 'stu1103': 'Jack'}
    >>> info
    {'stu1102': 'Jim', 'stu1103': 'Jack'} #随机删除
    >>> info.popitem()
    ('stu1102', 'LongZe Luola')
    >>> info
    {'stu1103': 'XiaoZe Maliya'}
    

     字典遍历

    遍历分为三种,遍历键值对,遍历键和遍历键值。需要注意的是,在遍历字典时默认是遍历所有的键。在下面的历程中“for key in info.keys():”,可以改为“for key in info:”,但显示的调用方法keys(),代码的可读性更强。

    info = {
        'stu1101': "Aaron",
        'stu1102': "Jim",
        'stu1103': "Jack",
    }
    
    #遍历键值对
    for key,value in info.items():
        print("
    key:"+key)
        print("value:"+value)
    
    #输出:
    key:stu1101
    value:Aaron
    
    key:stu1102
    value:Jim
    
    key:stu1103
    value:Jack
    
    #遍历键
    for key in info.keys():
         print("key:"+key)
    
    #输出:
    key:stu1101
    key:stu1102
    key:stu1103
    
    #遍历键值
    for  value in info.values():
        print("value:"+values)
    
    #输出:
    value:Aaron
    value:Jim
    value:Jack
    

     由字典的特性知,字典是无序的。但有以特定顺序获取键和键值的需求,这可以利用sort方法来实现。

    info = {
        'stu1101': "Aaron",
        'stu1102': "Jim",
        'stu1103': "Jack",
    }
    
    for key in sorted(info.keys())
        print("key:"+key)
    
    #输出:
    key:stu1101
    key:stu1102
    key:stu1103
    

    字典嵌套

          字典的键值可以嵌套数字,列表和字典。同样的,还有列表的嵌套,我说的是在列表中嵌套字典。具体使用哪种嵌套的数据类型,关键是要把握好列表和字典各自的特性。对于列表来说,列表中的元素描述的应该对应的是同一种属性,比如,要对披萨字典的描述,其中,披萨的配料就不止是一个值能表示,因此,这个字典的键值就是一个列表,即字典嵌套列表;对于字典来说,把握好键值对的理解就好,它们是一一对应的。字典嵌套的使用,难点不是在如何操作,而是能不能设计一个合理的建模模型。

    字典嵌套的访问问题

    不管是谁嵌套谁,列表和字典的访问都是通过“[]”来实现的,唯一不同是“[]”中的是索引,还是键的问题。

    #字典嵌套列表
    pissa = {
        'crust':'thick',
        'toppings':['mushrooms','extra','cheese'],
    }
    print(pissa['toppings'][2])
    #输出:
    cheese
    
    #列表嵌套字典
    people_info = [
        {'name':'Aaron','age':'24'},
        {'name':'Jim','age':'25'},
    ]
    print(people_info[1]['name'])
    #输出:
    Jim
    
  • 相关阅读:
    2、什么是session?
    1、什么是cookie?
    Vuejs实战项目五:数据列表
    Vuejs实战项目四:权限校验
    vue开发中控制台报错问题
    Vuejs实战项目三:退出系统功能实现
    Vuejs实战项目:登陆页面
    Vuejs实战项目步骤一
    springmvc:文件上传
    ssm整合:搭建环境
  • 原文地址:https://www.cnblogs.com/cjaaron/p/8668889.html
Copyright © 2020-2023  润新知