• 027 字典类型


    一、字典(dict)

    如果现在有个需求需要存我的信息,通过我们之前学习的数据类型,只有列表能够存储我们的信息。

    user_info = ['nick', 'male', '19', ['oldboy', 'shanghai', 50]]
    

    print(user_info[1]) # 'male'
    print(user_info[0]) # 'nick'
    print(user_info[3][1]) # 'shanghai'

    male
    nick
    shanghai
    

    使用列表虽然达到了我们的目的,但是我们能通过列表取值的时候,是基于我们已经知道了列表内部所有的元素。因此我们是不是可以给列表内的每一个元素都添加一个描述信息呢?否则如果不是存我的信息,而是用列表存取了成千上万个值,那么我们怎么通过索引精准取值呢?这样看起来好像是不可能的,因此可以使用新的数据类型——字典。

    1.1 作用

    用来存取多个值,按照key:value的方式存值,取的时候可以通过key而非索引去取值,key对value具有描述性的作用。存放数据的种类各种各样并且数据较多的时候可以使用字典。

    1.2 定义

    在{}内用逗号分隔开多个元素,每一个元素都是key: value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型。

    user_info = {'name': 'nick', 'gender': 'male', 'age': 19,
                 'company_info': ['oldboy', 'shanghai', 50]}
    

    print(id(user_info))
    print(type(user_info))
    print(user_info)

    4396183344
    <class 'dict'>
    {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': ['oldboy', 'shanghai', 50]}
    

    1.3 如何用

    字典取值方式不再依赖于索引,而是依赖于key,通过[key]即可获取key对应的value值。

    # 字典套列表
    user_info = {'name': 'nick', 'gender': 'male', 'age': 19,
                 'company_info': ['oldboy', 'shanghai', 50]}
    print(user_info['name'])
    print(user_info['company_info'][0])
    
    nick
    oldboy
    
    # 字典套字典
    user_info = {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': {
        'c_name': 'oldboy', 'c_addr': 'shanghai', 'c_num_of_employee': 50}}
    

    print(user_info['name'])
    print(user_info['company_info']['c_name'])

    nick
    oldboy
    

    二、练习

    取出students中第一个学生的姓名

    students = [
        {'name': 'nick', 'age': 19},
        {'name': 'egon', 'age': 18}
    ]
    print(students[0]['name'])
    
    nick
  • 相关阅读:
    作业 20181204-1 每周例行报告
    对团队成员公开感谢
    附加作业 软件工程原则的应用实例分析
    作业 20181127-2 每周例行报告
    作业 20181120-1 每周例行报告
    作业 20181113-2 每周例行报告
    作业 20181030-4 每周例行报告
    作业 20181023-3 每周例行报告
    SDWebImage的实现原理与底层结构拆解
    计算文件或者文件夹的大小用于计算下载速度或者是显示清除缓存大小
  • 原文地址:https://www.cnblogs.com/abdm-989/p/11431409.html
Copyright © 2020-2023  润新知