如何在Python中得到任意大小的空列表?
我基本上想要一个在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