【发布时间】:2018-11-25 20:44:10
【问题描述】:
我正在用 Python 为一个类创建一个简单的 Bin 打包程序,并且遇到了一个我无法完全追踪的范围问题。我正在尝试更改 ffBins 列表中的值,但是列表中的值未更改。
打印结果显示了我期望的结果(“10 5 5”),因为从 j 中减去了 i,但它并没有像我期望的那样改变实际列表中的值。我怀疑我需要在循环期间以不同的方式指向列表,但解决方案却让我望而却步。有没有一种简单的方法来改变列表中的值而不仅仅是当前的 j 变量?
ffBins.append(10)
for i in ffItems:
itemPacked = 0
for j in ffBins:
#print(j)
if j >= i:
print(j),
print(i),
j = j-i
print(j)
itemPacked = 1
#break
if itemPacked == 0:
ffBins.append(10)
ffBins[-1] = ffBins[-1]-ffItems[i]
【问题讨论】: