2017-10-26 8 views

答えて

6

lambdaはここでは必要ありません。アンパックオペレータ*を使用してください。

In [163]: print(*range(0, 30, 3)) 
0 3 6 9 12 15 18 21 24 27 

別々の行に印刷したい場合は、それも可能です。

In [164]: print(*range(0, 30, 3), sep='\n') 
0 
3 
6 
9 
12 
15 
18 
21 
24 
27 
0

あなたはPythonの2.xのを使用している場合、あなたは将来のインポートが必要になります:

from __future__ import print_function #dont't need this for python 3.x 
print(*range(0,30,3), sep='\n') 
0

物事の機能的な方法は、しかし機能

map(print, range(30)) 

マッピングのコレクションでありますなぜなら、Pythonではmapがジェネレータを返すので、それを何とか反復する必要があります。これはリストに変換することでできます

list(map(print, range(30))) 
+1

これは "副作用を引き起こす"と呼ばれ、 '[None、None、None、...]'のリストを生成します。これは一般に推奨されず、読みやすさが低下します。 –

+0

@cᴏʟᴅsᴘᴇᴇᴅ:確かに。しかし、 'print'はその副作用のために本質的に使われます。純粋な機能スタイルでは、それは存在しません。しかし、一般的には、純粋な関数が与えられれば、これが方法になります。 –

+0

はい、それを悪用するために 'map'を使用していませんか? –

関連する問題