【发布时间】:2020-07-26 12:28:24
【问题描述】:
我只是想知道在 python 中是否有一个干净的解决方案来用一些值填充列表的一部分(除了简单地迭代子列表)。例如,在 C++ 中,我会使用 std::fill。到目前为止,我发现了以下语法:
x = [0]*10 # some array
x[2:5] = [7]*3
使用 numpy 的解决方案也可以。
【问题讨论】:
-
同样的方法也适用于 numpy,你试过 numpy 吗?
-
是的,它有效,但我对这个答案并不完全满意。也许我应该澄清我的目标。当我查看这段代码-sn-p 时,我需要一点时间来了解发生了什么。与此相反,在我看来,
std::fill(fist, last, value)更清晰。 -
看看,
numpy.put大致相当于上面的。 -
您可以定义自己的简短
fill函数,在循环中执行此操作或使用您自己的解决方案很容易... -
@Adam.Er8 是的,当然,但我不想开始维护自己的小助手库