在Python中的lambda中迭代和比较

在Python中的lambda中迭代和比较,python,lambda,Python,Lambda,非家庭作业 我有一个浮动列表x,我想把它变成listy,一个包含x中所有第十个元素的列表 出于我自己的原因,我真的很想用少量的行来完成这项工作。我想出了这样的办法: i = 0 y = filter(lambda x: (++i)%10; x) 理论上,这应该是可行的,i已经定义,并且++i通常会将一个变量添加到变量i,然后继续表达式 不幸的是,++在Python中不存在 有什么类似蟒蛇的方法吗 我的另一个想法是使用映射,让表达式将元素推送到列表y 如果我能说得更清楚,请告诉我。使用: 使用:

非家庭作业

我有一个浮动列表
x
,我想把它变成list
y
,一个包含
x
中所有第十个元素的列表

出于我自己的原因,我真的很想用少量的行来完成这项工作。我想出了这样的办法:

i = 0
y = filter(lambda x: (++i)%10; x)
理论上,这应该是可行的,
i
已经定义,并且
++i
通常会将一个变量添加到变量
i
,然后继续表达式

不幸的是,
++
在Python中不存在

有什么类似蟒蛇的方法吗

我的另一个想法是使用映射,让表达式将元素推送到列表
y

如果我能说得更清楚,请告诉我。

使用:

使用:


如果索引%10==0,
[索引的值,枚举中的值(浮动列表)]
呢?

如果索引%10==0,
[索引的值,枚举中的值(浮动列表)]
呢?

使用以下替代方法:

使用的替代方案:


值得注意的是,在这种情况下,切片更好。但是,在过滤条件更复杂的情况下,这种技术值得了解。值得注意的是,在这种情况下,切片效果更好。然而,在过滤标准更复杂的情况下,这种技术值得了解。我以前从未见过这种情况,因为尽管我已经使用Python一段时间了,但我还没有完全探索过很多更具Python风格的做事方式。谢谢美丽的。我以前从未见过这种情况,因为尽管我已经使用Python一段时间了,但我还没有完全探索过很多更具Python风格的做事方式。谢谢
>>> x = range(1,101)
>>> y = x[9::10] # 9 -> start from 10th, 10: step
>>> y
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
>>> x = range(1, 101)
>>> i = itertools.count(1)
>>> y = filter(lambda item: next(i) % 10 == 0, x)
>>> y
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]