| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3991 人关注过本帖
标题:求助:python修改字典列表前三个值,为什么所有的值都被修改?谢谢!
取消只看楼主 加入收藏
ashennong
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-2-23
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
求助:python修改字典列表前三个值,为什么所有的值都被修改?谢谢!
问题:修改字典列表前三个值,为什么所有的值都被修改?谢谢!
alien_0={"color":"green","points":5,"speed":"slow"}
aliens=[]
for alien_number in range(3):
    aliens.append(alien_0)
for alien in aliens[0:2]:
    if alien['color']=='green':
        alien['color']='yellow'
        alien['points']=10
        alien['speed']='medium'
for alien in aliens[:3]:
    print(alien)
print('...')
运行结果:
{'color': 'yellow', 'points': 10, 'speed': 'medium'}
{'color': 'yellow', 'points': 10, 'speed': 'medium'}
{'color': 'yellow', 'points': 10, 'speed': 'medium'}
搜索更多相关主题的帖子: 修改 字典 列表 color for 
2018-10-09 11:43
ashennong
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-2-23
收藏
得分:0 
回复 2楼 林月儿
for alien in aliens[0:2]:
这个不是只修改了2个吗?为什么三个都修改了
2018-10-09 13:55
ashennong
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-2-23
收藏
得分:0 
回复 4楼 林月儿
alien_0={"color":"green","points":5,"speed":"slow"}
aliens=[]
for alien_number in range(3):
    aliens.append(alien_0)
for alien in aliens[0:1]:
    if alien['color']=='green':
        alien['color']='yellow'
        alien['points']=10
        alien['speed']='medium'
for alien in aliens[:3]:
    print(alien)
print('...')
运行:
{'color': 'yellow', 'points': 10, 'speed': 'medium'}
{'color': 'yellow', 'points': 10, 'speed': 'medium'}
{'color': 'yellow', 'points': 10, 'speed': 'medium'}
这个的结果仍然是全部值都变了 实在搞不懂,如果我只想改变2个的值,应该怎么写呢?谢谢
2018-10-09 16:10
ashennong
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-2-23
收藏
得分:0 
回复 8楼 书生牛犊
万分感谢!
2018-10-10 21:22
ashennong
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-2-23
收藏
得分:0 
回复 7楼 林月儿
万分感谢!
2018-10-10 21:23
快速回复:求助:python修改字典列表前三个值,为什么所有的值都被修改?谢谢!
数据加载中...
 
   



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

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