假设我有一个类似于[0 0 0]的数组,我想在一个类似基的尺度上迭代它。假设我选择以100为基数,假设我想用一个小的尾数系统。我的输出如下:
[10 0 0]
[2 0 0 0]
…
[99 0 0 0]
[0 0 1]
我的代码目前在一个函数'indexArray'中,但是我想知道是否有可能在没有if语句的情况下以一种更简单的方式实现这一点?在
def indexArray(enteredArr):
enteredArr[0] += 1
for i in range(len(enteredArr)):
if enteredArr[i] > 99:
enteredArr[i] = 0
enteredArr[i + 1] += 1
return enteredArr
在Python中,如果您查找它,有一种更简单的方法。在
你的主循环可以是:
对于您的示例,BASE=100和NDIM=4,但是相同的方法适用于任何其他值。在
i
将是一个数组值的元组,就像(0, 0, 0, 0), (0, 0, 0, 1) ... (BASE-1, BASE-1, BASE-1, BASE-1)
一样递增。在相关问题 更多 >
编程相关推荐