在C++中,可以为一维,二维数组创建typedef,然后使用它们声明变量。
typedef char my2DDataArr[2][2];
typedef int my1DDataArr[10];
my2DDataArr arr2d_1= {{0,1},{2,3}};
my1DDataArr arr1d_1 = {1,2,3,4,5,6,7,8,9,10};
如何在Python中完成相似的工作?
最佳答案
Python是强力但动态类型的。这意味着您不需要让编译器知道变量的类型,主要是因为未编译python代码。
因此,显然您可以简单地执行以下操作:
my_list = [] # List that can contain other lists, could be 1D or nD
initialized_list = [[1, 2], [2, 4]]
现在,当我写列表时,列表可以包含其他列表。当您不定义变量的类型时,有些人不喜欢不确定性和缺乏可读性。为此,您确实有两种不同的解决方案:import numpy as np
my_array = np.ndarray((2, 2)) # 2D Array
initialized_array = np.array([[1, 2], [2, 4]])
现在,您应该对这种表示法更加熟悉,因为它是一个二维数组。与列表不同,它只能并且只有2个维度,共4个元素(2x2)。如果您不关心数组是不可变的和/或想要可变性,则可以使用类型提示:from typing import List
my_list: List[List[int]]
my_list = []
这样写就表示它是一个包含整数列表的列表。大小仍然没有限制,但是如果您开始在其中添加其他内容或将其设为3维,则智能IDE会向您发出警告。
关于python - 如何在Python中创建多维数组typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64914785/