NumPy:如何在NumPy中实现Mathematica的混合基数?

lymnna71  于 2023-01-26  发布在  其他
关注(0)|答案(1)|浏览(109)

Mathematica有一个内置函数MixedRadix,它将一个整数Map到一个混合基数数字系统中的数字列表。
下面是我的Python版本:

def mixed_radix(num, bases):
    digits = []
    for base in bases[::-1]:
        num, digit = divmod(num, base)
        digits.append(digit)
    return digits[::-1]

在NumPy中有没有一种惯用的/内置的方法来完成这个任务?

nfg76nw0

nfg76nw01#

我偶然发现了答案:

>>> np.unravel_index(571, (12, 9, 6))
(10, 5, 1)

反方向:

>>> np.ravel_multi_index((10, 5, 1), (12, 9, 6))
571

相关问题