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
,而是跨越其元素。)