-1

我一直在玩 bisect 并且对以下行为感到困惑:

输入:

test = 1
print(test)

bisect.insort([test], 6)

输出:

1
1

如果我在将 test 定义为列表时更改,我会得到不同的响应:

输入:

test = [1]
print(test)

bisect.insort(test, 6)

输出:

[1]
[1, 6]

为什么这样做?

4

1 回答 1

0

bisect.insort 似乎对传递给它的任何内容都“就地”工作。因此,在第一个示例中,您向它传递了一个仅在函数范围内已知的列表,[test]它将插入该列表并创建一个列表,[1, 6]但它不会返回该结果或修改变量——test这是一个很好的事物。

于 2020-07-30T17:02:59.463 回答