# 关于 python ‘+=’ 符号产生太多重复值需注意的地方

关于 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
所以大家写代码的时候一定要小心啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值