我可以調用函數列表並使用列表理解嗎?使用列表理解的函數調用列表
def func1():return 1
def func2():return 2
def func3():return 3
fl = [func1,func2,func3]
fl[0]()
fl[1]()
fl[2]()
我知道我可以做
for f in fl:
f()
,但我可以在下面做什麼?
[f() for f in fl]
對那些善良的人們一個額外的問題,如果我的函數列表是在課堂上,例如
class F:
def __init__(self):
self.a, self.b, self.c = 0,0,0
def func1(self):
self.a += 1
def func2(self):
self.b += 1
def func3(self):
self.c += 1
fl = [func1,func2,func3]
fobj= F()
for f in fobj.fl:
f()
工作的呢?
什麼阻止了您在交互模式下嘗試它? – MAK 2011-03-28 15:49:45
剛剛走了,它確實有效,當我想這個問題時我沒有python shell ... – 2011-03-28 16:26:34
http://docs.python.org/release/3.2/tutorial/datastructures.html#list-理解 – 2011-03-28 18:50:52