| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1440 人关注过本帖
标题:初学,一个字典列表的问题
只看楼主 加入收藏
acll
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-3-23
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
初学,一个字典列表的问题
newusers = []
users = {
    'XXX': [] ,
    'YYY': [],
    }
for i in range(110,112):
    print(i)   
    users['XXX'] = i
    users['YYY'] = i + 100
    print('this is users', users, )
    print('this is newusers befor appended', str(i), newusers)
    newusers.append(users)
    print('this newusers appended ', str(i), newusers)
    print('\n')
执行结果如下
110
this is users {'XXX': 110, 'YYY': 210}
this is newusers befor appended 110 []
this newusers appended  110 [{'XXX': 110, 'YYY': 210}]


111
this is users {'XXX': 111, 'YYY': 211}
this is newusers befor appended 111 [{'XXX': 111, 'YYY': 211}]      这里为什么不是[{'XXX': 110, 'YYY': 210}] ?
this newusers appended  111 [{'XXX': 111, 'YYY': 211}, {'XXX': 111, 'YYY': 211}]  我期待的结果是 [{'XXX': 110, 'YYY': 210}, {'XXX': 111, 'YYY': 211}]
  那里错了 ?


[此贴子已经被作者于2019-3-23 11:11编辑过]

搜索更多相关主题的帖子: 字典 列表 users print this 
2019-03-23 11:08
TysonKoothra
Rank: 5Rank: 5
等 级:职业侠客
威 望:7
帖 子:71
专家分:374
注 册:2018-10-21
收藏
得分:20 
# newusers.append(users) 这一句用下一句代替
newusers.append(users.copy())
2019-03-23 17:21
acll
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-3-23
收藏
得分:0 
谢谢,明白了。原来append和赋值是一样的。
还明白了浅拷贝和深拷贝。
2019-03-23 18:18
快速回复:初学,一个字典列表的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016639 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved