如何在Python中声明零数组(或特定大小的数组)

267 投票
10 回答
651781 浏览
提问于 2025-04-16 06:18

我正在尝试制作一个计数的直方图,所以我需要创建一些“桶”。

我知道我可以通过添加一堆零来实现,比如这样:

buckets = []
for i in xrange(0,100):
    buckets.append(0)

但是有没有更优雅的方法呢?我觉得应该有办法直接声明一个特定大小的数组。

我知道numpy有个叫numpy.zeros的功能,但我想要一个更通用的解决方案。

10 个回答

29

你可以把一个 list(列表)乘以一个整数 n,这样就可以把这个 list 重复 n 次:

buckets = [0] * 100
151

为了完整性:在Python中,如果你想声明一个多维的零列表,你需要使用列表推导式,像这样:

buckets = [[0 for col in range(5)] for row in range(10)]

这样做是为了避免行之间共享引用。

虽然这看起来比chester1000的代码要笨重,但如果你打算稍后修改这些值,这样做是非常重要的。想了解更多细节,可以查看Python常见问题解答

撰写回答