
Python中循环内使用list.append()导致数据覆盖的问题及解决方案
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文探讨了在Python编程中,于循环内部运用列表的append方法时可能遇到的数据覆盖问题,并提供了有效的解决策略。
最近在一次爬虫实战过程中遇到了一个有趣的问题:我需要将字典添加到列表中,但是结果却不是预期的那样。
下面是问题的具体情况:
```python
list = []
dic = {}
for i in range(5):
dic[num] = i
list.append(dic)
print(id(dic))
print(list)
```
输出的结果是:
```
136652096136652096136652096136652096136652096
[{num: 4}, {num: 4}, {num: 4}, {num: 4}, {num: 4}]
```
结果出乎意料,列表中的每个元素都是相同的字典,并且值为最后循环迭代的结果。这并不是我们期望的 [{num:0}...{num:4}] 结构。
全部评论 (0)
还没有任何评论哟~


