例如,为什么 f 不能打印出列表中的数字 1-10。
f = []
a = []
for i in range(10):
a.append(i)
f.append(a)
a.clear()
print(f)
我知道还有其他方法可以完成这个确切的程序,但我很好奇为什么 python 将 f 输出为带有一堆空列表的列表:[[][][][][][][][][][]]
.
你添加同样的a
to f
多次,并在每次迭代时清除它。既然是相同的列表,当你清除它时,你会在所有的f
的元素。编写此代码片段的正确方法是在每次迭代中使用新列表:
for i in range(10):
a = []
a.append(i)
f.append(a)
当然,使用列表理解可以大大缩短这个时间:
f = [[i] for i in range(10)]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)