我们可以elif在列表理解中使用吗?
示例:
l = [1, 2, 3, 4, 5]
for values in l:
if values==1:
print 'yes'
elif values==2:
print 'no'
else:
print 'idle'
Run Code Online (Sandbox Code Playgroud)
我们能否elif以类似于上面代码的方式包含我们的列表理解?
例如,答案如下:
['yes', 'no', 'idle', 'idle', 'idle']
Run Code Online (Sandbox Code Playgroud)
到目前为止,我只使用if和else列表理解.
我想知道为什么列表理解比附加到列表要快得多.我认为差异只是表达,但事实并非如此.
>>> import timeit
>>> timeit.timeit(stmt='''\
t = []
for i in range(10000):
t.append(i)''', number=10000)
9.467898777974142
>>> timeit.timeit(stmt='t= [i for i in range(10000)]', number=10000)
4.1138417314859
Run Code Online (Sandbox Code Playgroud)
列表理解速度提高了50%.为什么?