【发布时间】:2016-11-16 20:16:01
【问题描述】:
作为列表的变量“操作”在 for 循环运行后正在发生变化,尽管它们没有明确说明其值发生变化的行。这是我的代码:
validOperations = ['(', ')', '^', '*', '/', '+', '-']
operations = ['+', '*', '/']
newOp = operations
for y in range(len(newOp) - 1):
for z in range(len(newOp) - 1):
if(validOperations.index(newOp[z]) > validOperations.index(newOp[z+1])):
oldVal = newOp[z]
newOp[z] = newOp[z+1]
newOp[z+1] = newOp[z]
print(newOp)
print(operations)
我该怎么做才能使操作的价值保持不变?
【问题讨论】:
-
newOp = operations不会复制。见nedbatchelder.com/text/names.html
标签: python arrays list for-loop