关于 python ‘+=’ 符号产生太多重复值需注意的地方
这几天做案例的时候遇到了比较严重又简单的错误,相信很多初学者都可能会入坑,在此分享给大家,希望能给大家带来帮助
上代码!!!!!!!!!
def pip_list(lists):
n_list = []
if len(lists) == 1:
n_list.append(lists[0])
else:
n = ‘’
for one in lists:
n +=n + ‘【’ + one + ‘】’
n_list.append(n)
return n_list
new = [‘157’,‘2778’,‘7348’]
list = pip_list(new)
print(list)
结果
[’【157】【157】【2778】【157】【157】【2778】【7348】’]
其实我们想要的是下面这样的
def pip_list(lists):
n_list = []
if len(lists) == 1:
n_list.append(lists[0])
else:
n = ‘’
for one in lists:
n += ‘【’ + one + ‘】’
n_list.append(n)
return n_list
new = [‘157’,‘2778’,‘7348’]
list = pip_list(new)
print(list)
结果
[’【157】【2778】【7348】’]
代码看过了,我们想要的是将多个信息合并成一条并加【】符号分隔,结果却不尽人意。仔细看就会发现每次都重复用了之前的信息。
具体原因分析
因为n +=1
其实等同于n = n + 1
所以第一次的函数其实就等同于写成了 n = n + n + 1
所以大家写代码的时候一定要小心啦