最后一次迭代? [英] Last iteration?
问题描述
您好,
我能否以某种方式确定值列表上的迭代是否是最后一次
迭代?
例如:
我在[1,2,3]中的
:
if last_iteration:
print i * i
其他:
打印i
即可打印
1
2
9
这可以以某种方式完成吗?
谢谢,
Florian
Hello,
can I determine somehow if the iteration on a list of values is the last
iteration?
Example:
for i in [1, 2, 3]:
if last_iteration:
print i*i
else:
print i
that would print
1
2
9
Can this be acomplished somehow?
Thanks,
Florian
推荐答案
Florian Lindner写道:
Florian Lindner wrote:
我能以某种方式确定如果值列表上的迭代是最后一次
迭代?
示例:
for i in [1,2,3]:
if last_iteration:
打印i * i
else:
打印我打印
1
2
9 >
这可以以某种方式完成吗?
can I determine somehow if the iteration on a list of values is the last
iteration?
Example:
for i in [1, 2, 3]:
if last_iteration:
print i*i
else:
print i
that would print
1
2
9
Can this be acomplished somehow?
你可以这样做:
l = [1,2,3]
s = len(l) - 1
for i,item in enumerate(l):#Py 2.4
if i == s:
print item * item
else:
打印商品
或者,您可以领先一步:
l = [1,2,3]
next = l [0]
for l [1:]中的项目:
打印下一个
next = item
打印下一个*下一个
Stefan
You could do this:
l = [1,2,3]
s = len(l) - 1
for i, item in enumerate(l): # Py 2.4
if i == s:
print item*item
else:
print item
Or, you could look one step ahead:
l = [1,2,3]
next = l[0]
for item in l[1:]:
print next
next = item
print next * next
Stefan
< br>
Florian Lindner写道:
Florian Lindner wrote:
你好,
我能否以某种方式确定值列表中的迭代是否为最后
迭代?
示例:
$ 1,2 $ 3中的
:
if last_iteration:
打印i * i
否则:
打印我
打印
1
2
9
可以这是以某种方式完成的?
Hello,
can I determine somehow if the iteration on a list of values is the last
iteration?
Example:
for i in [1, 2, 3]:
if last_iteration:
print i*i
else:
print i
that would print
1
2
9
Can this be acomplished somehow?
def last_iter(iterable):
it = iter(iterable)
buffer = [it.next ()]
for i in:
buffer.append(i)
old,buffer = buffer [0],buffer [1 :]
收益率假,旧
收益率真实,缓冲[0]
为最后,我在last_iter(xrange( 4)):
如果上次:
打印i * i
否则:
打印我
Diez
def last_iter(iterable):
it = iter(iterable)
buffer = [it.next()]
for i in it:
buffer.append(i)
old, buffer = buffer[0], buffer[1:]
yield False, old
yield True, buffer[0]
for last, i in last_iter(xrange(4)):
if last:
print i*i
else:
print i
Diez
10月12日上午11:58,Florian Lindner< Florian.Lind ... @ xgm.dewrote:
On Oct 12, 11:58 am, Florian Lindner <Florian.Lind...@xgm.dewrote:
你好,
我能否以某种方式确定值列表上的迭代是否是最后一次
迭代?
示例:
我在[1,2,3]中的
:
if last_iteration:
打印i * i
否则:
打印i
Hello,
can I determine somehow if the iteration on a list of values is the last
iteration?
Example:
for i in [1, 2, 3]:
if last_iteration:
print i*i
else:
print i
是的,要么使用枚举或者只是提前停止循环并处理
最后一个元素循环。
xs = [1,2,3]
$ x $ b for x in xs [: - 1]:
打印x
打印xs [-1] * xs [-1]
-
Paul Hankin >
这篇关于最后一次迭代?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!