python-3.x 将任何多维numpy数组转换为元组的元组的元组...与维数无关

nukf8bse  于 2023-03-13  发布在  Python
关注(0)|答案(2)|浏览(128)

this answer to Convert numpy ndarray to tuple of tuples in optimize method不提供比tuple(tuple(i) for i in a[:,0,:])更多的东西,这意味着它不存在,但我正在寻找类似于.totuple()的方法,类似于numpy的.tolist(),因为 * 您不需要事先知道维数 * 来生成元组的元组的元组...
对于我的需要,这将只适用于浮点数或整型数字数组。

bihw5rsg

bihw5rsg1#

您可以使用递归函数转换为独立于维数的元组:

def totuple(a):
    try:
        return tuple(totuple(i) for i in a)
    except TypeError:
        return a

在此答案中找到:Convert numpy array to tuple

3bygqnnd

3bygqnnd2#

一个更明确的选择:

def totuple(a):
    if a.shape == ():
        return a.item()
    else:
        return tuple(map(totuple, a))

示例:
x一个一个一个一个x一个一个二个x

相关问题