这是我的代码:
def generate_float_population(count, size):
return [generate_float_individual(size) for item in range(count)]
我的IDE说,不使用变量“item”。我想知道,如果有更优雅的方式来做到这一点。
答案 0 :(得分:1)
如果每次都必须调用该函数,那么这将起作用
def generate_float_population(count, size)
return map(generate_float_individual, [size] * count)
但是,如果每次都产生相同的值
def generate_float_population(count, size)
return [generate_float_individual(size)] * count
答案 1 :(得分:0)
如果generate_float_individual(size)
在每次通话时都返回相同的结果,您可以这样做:
return [generate_float_individual(size)] * count
答案 2 :(得分:0)
由于变量是该函数的本地变量,它存在多少真的很重要吗?它很快就会消失,而且非常小。 你应该更担心创建一个不必要的range(),因为这会创建一个n个元素的列表(至少在Python 2.7中)。
您可以使用xrange创建它,或者使用类似的东西:
class CountDown(object):
def __init__(self, n):
self.n = n
def __iter__(self):
return self
def next(self):
if self.n <= 0:
raise StopIteration()
self.n -= 1
return self.n
然后将其用于:
def generate_float_population(count, size):
return [generate_float_individual(size) for item in CountDown(count)]