我想知道我如何可以初始化一个数组(或列表),尚未与值填充,有一个定义的大小。
例如在C语言中:
int x[5]; /* declared without adding elements*/
在Python中如何做到这一点?
我想知道我如何可以初始化一个数组(或列表),尚未与值填充,有一个定义的大小。
例如在C语言中:
int x[5]; /* declared without adding elements*/
在Python中如何做到这一点?
当前回答
你可以使用:
>>> lst = [None] * 5
>>> lst
[None, None, None, None, None]
其他回答
你可以使用:
>>> lst = [None] * 5
>>> lst
[None, None, None, None, None]
我发现很容易做的一件事是我设置一个数组 例如,我喜欢的大小的空字符串
代码:
import numpy as np
x= np.zeros(5,str)
print x
输出:
['' '' '' '' '']
希望这对你有帮助:)
我想通过发布一个示例程序及其输出来帮助你
计划:
t = input("")
x = [None]*t
y = [[None]*t]*t
for i in range(1, t+1):
x[i-1] = i;
for j in range(1, t+1):
y[i-1][j-1] = j;
print x
print y
输出:
2
[1, 2]
[[1, 2], [1, 2]]
我希望这澄清了你对他们的宣言的一些非常基本的概念。 用其他特定的值初始化它们,比如用0..你可以将它们声明为:
x = [0]*10
希望能有所帮助!!;)
最好的办法是使用numpy库。
from numpy import ndarray
a = ndarray((5,),int)
为什么这些问题没有得到显而易见的答案呢?
a = numpy.empty(n, dtype=object)
这将创建一个长度为n的数组,用于存储对象。它不能被调整大小或追加。特别是,它不会因为填充长度而浪费空间。这是Python中与Java相同的部分
Object[] a = new Object[n];
如果你真的对性能和空间感兴趣,并且知道你的数组只存储某些数值类型,那么你可以将dtype参数更改为其他一些值,比如int。然后numpy将这些元素直接打包到数组中,而不是使数组引用int对象。