为了账号安全,请及时绑定邮箱和手机立即绑定

可以更改字典元素

可以更改字典元素

FFIVE 2023-10-05 17:47:15
嘿,我试图在 for 循环中使用 if 语句更改字典中的元素,当我在第一个 for 循环中包含属性字典时,它似乎工作正常。否则我无法根据需要更改元素。我想做的是创建一个空列表。然后添加 30 个具有相同属性的字典项。创建字典后,我尝试使用 if 语句更改列表中前 3 个元素的属性。然后打印列表中的前 6 个元素以检查更改是否已应用properties1={'color':'silver','weight':45,'Height':5.5,'planet':'mars'}for alien in range(30):    aliens.append(properties1)for alien in aliens[0:3]:    if alien['color'] == 'silver':        alien['weight']=10        alien['Height']=2        print(alien)for alien in aliens[:6]:    print(alien)输出是{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}Python字典
查看完整描述

1 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

您只有一本词典,并且在列表中引用了 30 次。你更新的任何内容都会更新这个字典,所以所有的外星人都将是一样的。


您应该附加此字典的副本(properties1.copy()而不是第一个循环中的properties1:


properties1={'color':'silver','weight':45,'Height':5.5,'planet':'mars'}

aliens = []

for alien in range(30):

    aliens.append(properties1.copy())

for alien in aliens[0:3]:

    if alien['color'] == 'silver':

        alien['weight']=10

        alien['Height']=2

        print(alien)

for alien in aliens[:6]:

    print(alien)

输出:


{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}

{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}

{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}

{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}

{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}

{'color': 'silver', 'weight': 10, 'Height': 2, 'planet': 'mars'}

{'color': 'silver', 'weight': 45, 'Height': 5.5, 'planet': 'mars'}

{'color': 'silver', 'weight': 45, 'Height': 5.5, 'planet': 'mars'}

{'color': 'silver', 'weight': 45, 'Height': 5.5, 'planet': 'mars'}


查看完整回答
反对 回复 2023-10-05
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信