美文网首页
python-确定长度的字典型数组定义

python-确定长度的字典型数组定义

作者: 一只孢子 | 来源:发表于2021-05-13 11:25 被阅读0次

    操作

    定义一个包含5个空字典的数组

    错误的定义方式

    list = [{}]*5

    错误原因

    python中使用乘号复制时,只复制了3个索引,即都指向同一个物理地址,我们在操作其中任何一个时,会同时修改其他内容。


    image.png

    python在用乘号(*)复制时,只会复制索引,不会分配物理地址,在对每个元素赋值时才会分配物理地址,而字典的赋值list[1]['B']=2直接跳过了对list[1]的地址分配阶段,因此报错。当我们对list[2]赋值后,该元素即不受影响。

    image.png

    正确的定义方式

    i=0
    list=[]
    while i<5:
    list.append({})
    i+=1

    image.png

    参考:python坑:数组中需要多个字典型时使用乘号复制多个空字典的问题_u011550708的专栏-CSDN博客

    相关文章

      网友评论

          本文标题:python-确定长度的字典型数组定义

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