• python 创建一个键值为空列表的字典对象


    前言

      python中字典是一个非常常用的存储容器,有时候根据特定的需要需要创建一些特殊容器。这里记录一下value是一个列表的构造方法。

    1、先来使用字典构造函数 dict() ,构造一个普通的字典:

    1 # 创建单值字典
    2 keys = ['A', 'E', 'I', 'O', 'U']
    3 values = [1, 2, 3, 4, 5]
    4 dict1 = dict(zip(keys, values))
    5 print(dict1)

    其输出结果为:

    1 {'A': 1, 'E': 2, 'I': 3, 'O': 4, 'U': 5}

    2、使用dict()构造一个我们需要的特殊类型的字典:

    # 字典构造器
    key = [1, 2, 3, 4]
    a = dict([(k, []) for k in key])
    print(a)

    输出结果为:

    {1: [], 2: [], 3: [], 4: []}

    3、使用 fromkeys 方法:

    key = [1, 2, 3, 4]
    # 使用 fromkeys()
    b = {}.fromkeys(key, [])
    print(b)

    输出为:

    {1: [], 2: [], 3: [], 4: []}

    使用dict ()方法和 fromkeys()方法看起来结果是一样的,但是,在分别往这两个字典添加一些值,其输出结果如下:

    print('-'*20)
    a[1].append(123)
    print(a)
    
    b[1].append(123)
    print(b)
    
    
    --------------------
    a:{1: [123], 2: [], 3: [], 4: []}
    b:{1: [123], 2: [123], 3: [123], 4: [123]}

    从输出结果可以看出第二种方法构造出来的字典所有的列表实际上是同一个对象;就体现在我们在使用 fromkeys 方法时的确只提供了一个列表对象,fromkeys 方法浅层拷贝这个对象放到字典中了,因此,这样的结果也在预料之中,以上。

  • 相关阅读:
    go语言基础知识
    用vim写go代码——vim-go插件
    Java开发用H2数据库
    css控制文本对齐
    Linux用awk处理文本数据
    Linux修改文件编码
    Linux查看文本文件编码
    go语言学习笔记
    Druid
    spring cloud学习--eureka 02
  • 原文地址:https://www.cnblogs.com/shi-win-snoopy/p/13532586.html
Copyright © 2020-2023  润新知