如何在Python中得到任意大小的空列表?

153 投票
10 回答
603315 浏览
提问于 2025-04-16 13:04

我基本上想要一个在C语言中这个数组的Python版本:

int a[x];

但是在Python中,我是这样声明一个数组的:

a = []

问题是我想给随机的位置赋值,比如:

a[4] = 1

但在Python中我做不到,因为Python的列表是空的(长度为0)。

10 个回答

22

你可以使用numpy这个库:

import numpy as np

这是一个来自空数组的例子:

np.empty([2, 2])
array([[ -9.74499359e+001,   6.69583040e-309],
       [  2.13182611e-314,   3.06959433e-309]])  
28

在Python中,你可能无法完全实现你想要的功能(如果我理解没错的话)。你需要为列表中的每个元素提供一个值(或者你称之为数组)。

不过,可以试试这个:

a = [0 for x in range(N)]  # N = size of list you want
a[i] = 5  # as long as i < N, you're okay

对于其他类型的列表,除了用0以外,还可以使用其他值。比如,None通常也是一个不错的选择。

299

如果你说的“数组”其实是指Python中的列表,那么你可以使用

a = [0] * 10

或者

a = [None] * 10

撰写回答