python - 如何在Python中创建多维数组typedef

标签 python c++ arrays typedef

在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/

相关文章:

python - 如何在 OSX 上安装 libjpeg?

python - 将 Django UserCreationForm 的密码验证错误从密码 2 移至密码 1

Python 仅为主机创建 VPN 连接

javascript - 合并来自同一数组的 json 数据

c - 从不同函数中的数组中检索值

javascript - 我的 Json 数组只返回最后一个数组。如何解决?

python - 属性错误 : module 'functools' has no attribute 'wraps'

java - 有没有办法在 Android 上使用 WebRTC 共享屏幕

c++ - Opencv:如何计算 3d 直方图?

c++ - 仅当 QCheckBox 被选中时才发出信号