找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1826|回复: 0

[求助] 白求解-在列表中append一个字符,跟append一个字典,有什区别

1

主题

1

帖子

1

积分

贫民

积分
1
867342700 发表于 2018-12-18 16:18:08 | 显示全部楼层 |阅读模式
在列表中append内容是是字典的同一个变量,每次append,列表中的值都会随着变量内容改变而改变。
In [1]: a=[]
..
In [3]: b={"a":2}

In [4]: a.append(b)

In [5]: a
Out[5]: [{'a': 2}]

In [6]: b["b"]=3

In [7]: b
Out[7]: {'a': 2, 'b': 3}

In [8]: a.append(b)

In [9]: a
Out[9]: [{'a': 2, 'b': 3}, {'a': 2, 'b': 3}]

然而如果变量里的内容是字符串,那列表之前append的元素不会随着变量的改变而改变
In [19]: a=[]

In [20]: a
Out[20]: []

In [21]: b="B1"

In [22]: b
Out[22]: 'B1'

In [23]: a.append(b)

In [24]: a
Out[24]: ['B1']

In [25]: b="B2"

In [26]: a.append(b)

In [27]: a
Out[27]: ['B1', 'B2']


这是为什么呢?是存储方式不同吗?

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表