对于一Python列表,往后添加内容有很多种,其中两种一个是用“+”直接添加内容,另外一种是Listname.append(x)来添加内容。
其中用append添加与用“+”添加会有一个很大的区别会直接导致你的电脑报错。
首先,我得说这个事情是我自己在实践中发现的,所以如果有大佬发现错误的话,欢迎指导。
这个事情可以用两个很简单的代码很直接的看出来。
#程序1
lst=[1,2,3]
for i in lst:
lst=lst+[1]
print(lst)
#程序2
lst=[1,2,3]
for i in lst:
lst.append(1)
print(lst)
我们自己运行时会发现程序1的结果为[1, 2, 3, 1, 1, 1],而当我们运行程序2时却会长期出不来结果而报错。这是为什么呢?
主要还是由于append和“+”虽然都是在列表末尾直接加入数据,但append是随着每一次循环而直接加入列表(也会直接参与有关列表的算法),而“+”则不是。
也就是说在程序2中lst 的循环是无穷的,而你的程序由于python一直在运算,出不来循环。