在takewhile()中反转计数? Python2.7

时间:2017-02-25 10:15:23

标签: python-2.7 list-comprehension

我只是想问一下是否可以使用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?)

你能否就这种困境给我一些建议?我会很感激。如果这个问题有重复,请告诉我。

1 个答案:

答案 0 :(得分:1)

可以将Xrange称为xrange(1, n+1)以获取所需的列表。您也可以将其称为xrange (n, 1, -1)以直接获取反向列表。