许霜晨 2022-07-24 22:39 采纳率: 100%
浏览 20
已结题

将一个字典添加到列表当中,在再用这个字典进行赋值给列表,得到的这个字典为None

问题遇到的现象和发生背景

在工作的时候,将一个字典添加到列表当中,在再用这个字典进行赋值给列表,得到的这个字典为None

问题相关代码,请勿粘贴截图

a = ['a':'1']
b = [1]
a = b.append(a)

运行结果及报错内容

返回的结果是None

我的解答思路和尝试过的方法

我自己的理解是: 原本的a指向字典,再将这个字典添加到b列表里面,接着用a指向该列表,这样会导致原本的字典没有引用,而新的列表又需要这个字典的引用,导致最终返回了None

我想要达到的结果

我不知道这样想的对不对,orz小伙伴解答一下

  • 写回答

2条回答 默认 最新

  • 天际的海浪 2022-07-24 22:45
    关注

    b.append(a) 没有返回值, b.append(a)是把a字典添加到b列表中,但并不返回b列表,就默认返回None赋值给a了
    要把b列表赋值给a应该是

    a = {'a':'1'}
    b = [1]
    b.append(a)
    a = b
    print(a)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月2日
  • 已采纳回答 7月25日
  • 创建了问题 7月24日