Python 如何使用枚举替换范围内的using for循环(len)

Python 如何使用枚举替换范围内的using for循环(len),python,numpy,Python,Numpy,是否有一种简单的方法可以使用枚举而不是进行范围(len)的循环?例如,这里我循环使用子数组的索引替换子数组中每个元素的所有值 list = [] for i in range(len(nparray)): j = [i]*(len(nparray[i])) list.append(j) 我的nparray是np。数组有6个子数组,每个子数组有不同的大小。枚举不会取代for的使用,只是让它看起来更好。但是,您可以使用列表理解: [[i]*len(x)表示枚举(n数组)中的i,x

是否有一种简单的方法可以使用
枚举
而不是
进行
范围(len)
的循环?例如,这里我循环使用子数组的索引替换子数组中每个元素的所有值

list = []
for i in range(len(nparray)): 
    j = [i]*(len(nparray[i]))
    list.append(j)

我的nparray是
np。数组
有6个子数组,每个子数组有不同的大小。

枚举
不会取代
for
的使用,只是让它看起来更好。但是,您可以使用列表理解:
[[i]*len(x)表示枚举(n数组)中的i,x]


并避免使用
列表
作为变量名,因为它通常被用作内置项。

枚举
不会取代
的使用,只是让它看起来更好。但是,您可以使用列表理解:
[[i]*len(x)表示枚举(n数组)中的i,x]


并避免使用
list
作为变量名,因为它通常用作内置项。

要使用枚举器,首先需要声明两个目标变量,因为枚举器返回元组

使用理解列表中的示例,可以如下所示:

listR = [[idx]*(len(val)) for idx,val in enumerate(multiarray)]
如果你想深入

我希望这对你有帮助


关于使用枚举器,首先需要声明两个目标变量,因为枚举器返回元组

使用理解列表中的示例,可以如下所示:

listR = [[idx]*(len(val)) for idx,val in enumerate(multiarray)]
如果你想深入

我希望这对你有帮助


关于

这里i是从零开始的连续数,x是n数组?为什么它知道i是从零开始的连续数?感谢您对列表的评论。
enumerate
就是这样工作和定义的:它迭代所有元素(此处名为
x
),同时还提供它们的索引(此处名为
i
)。(
x
不是
nparray
而是跨越它的元素。)所以这里i是从零开始的连续数,x是nparray?为什么它知道i是从零开始的连续数?感谢您对列表的评论。
enumerate
就是这样工作和定义的:它迭代所有元素(此处名为
x
),同时还提供它们的索引(此处名为
i
)。(
x
不是
nparray
,而是跨越其元素。)