Python中如何保留变量旧值与新赋值?
解决方案
首先,你的原代码存在语法错误:break语句放在了while循环外部,会触发SyntaxError,需要把break缩进至循环内部才能正常执行。
要同时保留变量x的原始值和新赋值,有几种简单直接的实现方式:
提前用额外变量存储原始值
在修改x之前,把初始值存入另一个变量,后续就能分别获取原始值和新值:x = 5 original_x = x # 保存原始值 while True: x = 10 break # 缩进至循环内,修复语法错误之后可通过
original_x获取原始的5,x获取新值10。用容器类型存储(列表/字典)
如果不想新增独立变量,可以把值放入列表或字典这类容器中,修改容器内的元素或新增键值对,原始值会被保留:# 列表示例 x = [5] # 将初始值存入列表 while True: x.append(10) # 添加新值,原始值仍在x[0] break # 此时x[0]为原始值5,x[1]为新值10用字典会更清晰直观:
x = {"original": 5} while True: x["new"] = 10 break # 通过x["original"]获取原始值,x["new"]获取新值
内容的提问来源于stack exchange,提问作者user19748230
相关产品推荐
相关产品推荐

