最后一次迭代? [英] Last iteration?

查看:104
本文介绍了最后一次迭代?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,

我能否以某种方式确定值列表上的迭代是否是最后一次

迭代?


例如:

我在[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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆