我正在使用以下代码初始化list对象。
list = [
func1(centroids[0],value),
func1(centroids[1],value),
....,
func1(centroids[n],value)]我正在尝试使用一些内联迭代的更优雅的方式来完成它。下面是一种可能的方法的伪代码。
list = [value for value in func1(centroids[n],value)]我不清楚如何以迭代的方式调用func1。你能提出一个可能的实施方案吗?
发布于 2018-06-13 20:32:50
对于一个对象列表,Python知道如何直接迭代它,这样您就可以消除大多数其他答案中显示的索引,
res = [func1(c, value) for c in centroids]非那样做不行。
发布于 2018-06-13 17:30:04
一个简单的列表理解由“模板”列表元素组成,然后是遍历所需值所需的迭代器。
my_list = [func1(centroids[0],value)
for n in range(n+1)]发布于 2018-06-13 17:29:48
使用以下代码:
list = [func1(centroids[x], value) for x in range(n)]这被称为列表理解。将您希望列表包含的值放在前面,然后是for循环。可以将for循环的迭代变量与值一起使用。在这段代码中,您从函数调用n设置变量的func1(centroids[x], value)号。如果变量n等于,比方说,4,list = [func1(centroids[0], value), func1(centroids[0], value), func1(centroids[0], value), func1(centroids[0], value)]将等于上面的代码
https://stackoverflow.com/questions/50843032
复制相似问题