python(3.5)list comprehension vs foor loop over void funcs

时间:2016-11-15 10:04:55

标签: python list for-loop list-comprehension

我想知道当我们有很多void func来改变某个对象的值时(在Python中返回None),如:

A = []

def foo():
    A.append(range(10))

使用这些函数进行列表理解会有什么好处:

funcs = [ foo1, foo2, foo3, ..., foo10]

[
   func() for func in funcs
]

它与C ++括号类似吗?

或者它在性能上与简单的循环相同:

for func in funcs:
    func()

我应该使用哪一个?为什么?主要是我使用Python 3.5所以我问这个版本:P

EDIT_000 :::

我想知道当我们有多个func更改某个对象的值并返回一些虚拟布尔值时,如:

A = []
dummy = False #edit


def foo():
    A.append(range(10))
    return dummy             #edit, we return dummy not None now

使用这些函数进行列表理解会有什么好处:

funcs = [ foo1, foo2, foo3, ..., foo10]

[
   func() for func in funcs
]

它在性能上与简单的循环相同:

for func in funcs:
    dummy=func()

或者当我们创建完整的虚拟列表时会有一些性能提升(就像我们通过在汽车中加入更多汽油来获得更多的热量浪费,这样它会跑得更快)?

0 个答案:

没有答案