python中的增量数组,如基数系统
假设我有一个类似于[0]的数组,我想在一个类似于基数的比例上迭代它。假设我选择基数100,假设我想用一个小的endian系统。我的输出如下所示:python中的增量数组,如基数系统,python,arrays,numpy,Python,Arrays,Numpy,假设我有一个类似于[0]的数组,我想在一个类似于基数的比例上迭代它。假设我选择基数100,假设我想用一个小的endian系统。我的输出如下所示: [1 0 0] [2 0 0 0] … [99 0 0 0] [0110] 我的代码目前在一个函数“indexArray”中,但我想知道,不使用if语句,是否有可能以更简单的方式实现这一点 def indexArray(enteredArr): enteredArr[0] += 1 for i in range(len(enteredA
[1 0 0]
[2 0 0 0]
…
[99 0 0 0]
[0110] 我的代码目前在一个函数“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中的通常情况一样,如果您寻找它,有一种更简单的方法 您的主循环可以是:
for i in itertools.product(range(BASE), repeat=NDIM):
... stuff ...
例如,BASE=100和NDIM=4,但相同的方法适用于任何其他值
i
将是一个数组值的元组,按(0,0,0,0),(0,0,0,1)的顺序递增。。。(BASE-1,BASE-1,BASE-1,BASE-1)
在Python中,与往常一样,如果您查找它,有一种更简单的方法
您的主循环可以是:
for i in itertools.product(range(BASE), repeat=NDIM):
... stuff ...
例如,BASE=100和NDIM=4,但相同的方法适用于任何其他值
i
将是一个数组值的元组,按(0,0,0,0),(0,0,0,1)的顺序递增。。。(BASE-1,BASE-1,BASE-1,BASE-1)
您的示例实际上是BASE 100。非常确定您必须使用条件..您需要条件。如果你使用numpy,你可以并行处理更多的数字,但是如果这真的是一种加速和/或更容易理解的方法,这是有争议的。@randomir Doh!你是对的,你的例子实际上是在基数100中。非常确定你将不得不使用一个条件。你需要一个条件。如果你使用numpy,你可以并行处理更多的数字,但是如果这真的是一种加速和/或更容易理解的方法,这是有争议的。@randomir Doh!你是对的,这正是我在寻找的,一种做我正在做的事情的方式,但更容易。谢谢这正是我正在寻找的,一种做我正在做的事情的方式,但更容易。谢谢