Python变量自增问题:如何让初始值为0的n累加1后输出1?
如何让变量n累加1后输出1
你之前的代码问题在于:sum()和reduce()函数只会返回计算后的新值,不会直接修改原变量n。因为Python的整数是不可变类型,这些函数计算时会生成新的整数对象,原变量n仍然指向初始的0,所以print(n)输出还是0。
正确的修改方式:
- 最简洁的一行代码(推荐):
n = 0 n += 1 # 直接对n进行原地累加 print(n) # 输出1 - 如果一定要用sum函数:
n = 0 n = sum([n, 1]) # 将sum的计算结果重新赋值给n print(n) # 输出1 - 如果用reduce函数(注意需要先导入模块):
from functools import reduce from operator import add n = 0 n = reduce(add, [n, 1]) # 将reduce的计算结果重新赋值给n print(n) # 输出1
内容的提问来源于stack exchange,提问作者Blaster
相关产品推荐
相关产品推荐

