1

宿題以外

float のリストがあり、それをの 10 番目の要素すべてのリストである list にx変換したいと考えています。yx

私自身の理由から、これをほんの少しの行で行いたいと思っています。私はこのようなものを思いついた:

i = 0
y = filter(lambda x: (++i)%10; x)

理論的には、これは機能するはずでiあり、既に定義されており、++i通常は variable に 1 を追加してからi、式を実行します。

残念ながら、++Python には存在しません。

これについてPythonicの方法はありますか?

私が持っていた別のアイデアは、マップを使用し、要素をリストにプッシュする式を持たせることyでした。

もっと明確にできるかどうか教えてください。

4

3 に答える 3

15

拡張スライスを使用:

>>> 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]
于 2013-10-08T17:23:56.257 に答える
3

どう[value for index, value in enumerate(list_of_floats) if index % 10 == 0]ですか?

于 2013-10-08T17:23:58.040 に答える