我正在用Python为一个类创建一个简单的Bin打包程序,并且遇到了一个范围问题,我不能很好地跟踪它。我正在尝试更改ffBins列表中的值,但是列表中的值没有更改。你知道吗
打印结果显示了我所期望的(“105”),因为我从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]
在这段代码中,您所要做的就是将j重新绑定到一个新值。您需要通过索引将值设置回列表中。您可以使用
enumerate
来获取索引和值。你知道吗相关问题 更多 >
编程相关推荐