是否有一种简单的方法可以使用enumerate
代替for
循环range(len)
?例如,在这里我循环用它的子数组的索引替换子数组中每个元素的所有值。
list = []
for i in range(len(nparray)):
j = [i]*(len(nparray[i]))
list.append(j)
我的nparray是np.array
,有6个子数组,每个子数组都有不同的大小。
答案 0 :(得分:3)
for
无法取代[[i]*len(x) for i,x in enumerate(nparray)]
的使用,只是让它变得更好。但是你可以使用列表理解:
list
并且避免使用org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'libraryEntityManagerFactory' is defined
作为变量名称,因为它已被用作内置函数。
答案 1 :(得分:1)
使用枚举器,首先需要声明两个目标变量,因为枚举器返回一个元组。
在理解列表中使用您的示例,它可能是这样的:
listR = [[idx]*(len(val)) for idx,val in enumerate(multiarray)]
如果你想要深https://docs.python.org/2/library/functions.html#enumerate
我希望这对你有所帮助。
此致