我只是想问一下是否可以使用takewhile()将此代码转换为列表理解?我使用的是python2.7。
我有这段代码:
[4,3,2,1]
输出结果为:
from itertools import takewhile
n=4
c=[n for n in takewhile(lambda n: n!=0, xrange(n))]
print c
我想用takewhile()
将代码转换为列表理解我试过这个但没有运气:
[]
不幸的是,输出是一个空列表:
$('.card').click(function() {
$('.front').toggle();
$('.back').toggle();
});
我认为原因是xrange(n)上的值从0开始,这就是为什么它没有给出我想要的输出。
有没有办法在takewhile中反转迭代器(比如:从4开始计数而不是0到3?)
你能否就这种困境给我一些建议?我会很感激。如果这个问题有重复,请告诉我。
答案 0 :(得分:1)
可以将Xrange称为xrange(1, n+1)
以获取所需的列表。您也可以将其称为xrange (n, 1, -1)
以直接获取反向列表。