Python:从循环中改变列表值

2024-09-27 00:17:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用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]

Tags: in程序列表forifbin过程方式
1条回答
网友
1楼 · 发布于 2024-09-27 00:17:25

在这段代码中,您所要做的就是将j重新绑定到一个新值。您需要通过索引将值设置回列表中。您可以使用enumerate来获取索引和值。你知道吗

for index, j in enumerate(ffBins):
    ...
     ffbins[index] = j - i

相关问题 更多 >

    热门问题