针对dict中 嵌套dict 出现复制异常

lists={}
test=['s1','s2','s3']
data = {'value': '',}
for i in range(2):
lists[i]=data
# dic = {0: {'value': '',}, 1:{'value': '',}}
for j in range(2):
# print(j)
lists[j]['value']=test[j]
print(lists)

  结果

{0: {'value': 's2'}, 1: {'value': 's2'}}

  很奇怪0,1的value都是s2

解决方法:

lists={}
test=['s1','s2','s3']
data = {'value': '',}
for i in range(2):
lists[i]={'value': '',}
# dic = {0: {'value': '',}, 1:{'value': '',}}
for j in range(2):
# print(j)
lists[j]['value']=test[j]
print(lists)

  或

lists = {0: {'value': '',}, 1:{'value': '',}}
for j in range(2):
# print(j)
lists[j]['value']=test[j]
print(lists)

  二者的结果均一致

{0: {'value': 's1'}, 1: {'value': 's2'}}

  猜测原因:可能是因为data是一个地址 ,lists[i]=某个地址,当给list[i]赋值时相当于给某个地址赋值,故其中一个值变了,其余值也跟着变。 lists[i]={'Url': '',} 相当于给了个新地址 。可能原因不对欢迎指出。

python 字典嵌套字典赋值异常的更多相关文章

  1. !!Python字典增删操作技巧简述+Python字典嵌套字典与排序

    http://developer.51cto.com/art/201003/186006.htm Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些 ...

  2. python关于字典嵌套字典,列表嵌套字典根据值进行排序

    python 对于字典嵌套字典, 列表嵌套字典排序 例:列表嵌套自字典:d = [{"name": '张三', 's': 68}, {'name': '李四', 's': 97}] ...

  3. python字典嵌套字典的情况下获取某个key的value

    最近在用python写接口的测试程序,期间用到解析字典获取某个key的value,由于多个接口返回的字典格式不是固定的并存在多层嵌套的情况.在字典的方法中也没有找到可直接达到目的的方法(也可能是我对字 ...

  4. python 生成嵌套字典

    import collections import json tree=lambda:collections.defaultdict(tree) some_dict=tree() some_dict[ ...

  5. Python全栈day13(作业讲解字典嵌套实现用户输入地址信息添加及查看)

    要求: 列出字典对应节点名称,根据用户输入可以添加节点,查看节点等功能,这里以地址省-市-县等作为列子,此题熟悉字典嵌套功能 vim day13-16.py db = {} path = [] whi ...

  6. python——Container之字典(dict)详解

    字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型.列表是有序的对象结合,字典是无序的对象集合.两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取. ...

  7. day 05 字典,字典嵌套

    字典: 1.列表如果存储大量数据,查询速度相对慢一些 2.列表存储的数据,一般没有什么关联性 针对以上原因,python提供了一个基础数据类型,dict 字典 数据类型的分类 : 容器型数据类型:li ...

  8. python数据类型之字典

    字典定义 字典是一种 key-value 的数据类型,这点很重要,是区别使用列表和字典的依据. 语法格式: info = { 'stu1101': "Aaron", 'stu110 ...

  9. python 编程基础-字典类型和方法

    定义:字典是一种key-vlaue的数据类型. 字典特性KEY值必须是唯一,且可hash的(不可变数据类型),无索引,无序的(因为有KEY),查找速度快 语法:info = {'stu1101':&q ...

随机推荐

  1. task CancellationTokenSource

    使用CancellationTokenSource对象需要与Task对象进行配合使用,Task会对当前运行的状态进行控制(这个不用我们关心是如何控制的).而CancellationTokenSourc ...

  2. 旧版本的firefox 下载 和 安装(查找web元素路径) ---web 元素 自动化测试

    ftp.mozilla.orgpubfirefoxreleases   旧版下载地址   选择47版本     因为48后面的会进行插件校验    这样firepath安装不成功   安装文件:在百度 ...

  3. 在Fastreport里使用的CRC函数

    如标题, 是在Fastreport的脚本里运行的CRC计算函数, 包括CRC-16/CRC-32 基本是从网上找的代码, 然后改出来的 至于为什么要在FR的脚本里运行....呵呵 不要在意这些细节(找 ...

  4. Ionic3多个自定义过滤器--管道(pipe)

    往往我们创建自定义管道一般都不止只会创建一个自定义管道,和自定义组件类似,创建多个方式如下. 一.命令行生成管道 ionic g pipe formateDate ionic g pipemoneyD ...

  5. RoR - Nested Resources, Security ,pagination

    root to: 'xxx'  默认root路径 Nested Resource: Rails.application.routes.draw do resources :books do resou ...

  6. 我喜欢的几款不错的vim插件

    插件安装组件 https://github.com/tpope/vim-pathogen supertab自动补齐 https://www.vim.org/scripts/script.php?scr ...

  7. Redis集群概述

    Redis Cluster与Redis3.0.0同时发布,以此结束了Redis无官方集群方案的时代,目前,Redis已经发布了3.0.7版本. redis cluster是去中心化,去中间件的,也就是 ...

  8. ADB——连接手机的三种方式

    有USB连接 硬件状态正常. 包括 Android 设备处于正常开机状态,USB 连接线和各种接口完好. Android 设备的开发者选项和 USB 调试模式已开启. 可以到「设置」-「开发者选项」- ...

  9. 导出IndoorGML

    导出IndoorGML

  10. 使用paginate分页后数据处理

    public function index(){ $sql = ""; $list = ""; $pagenumber = 20;//默认分页条数 //查询数据 ...