2016-05-24 5 views
3

こんにちは、私はPythonとStackoverflowに新しいですので、私に同行してください。私は最近、リスト内包を発見し、それをより良く理解するために特定のコードを「リバースエンジニアリング」したいと考えました。言い換えれば、どのように定期的にブロック形式で次のコードになりますPythonリバースエンジニアリストの理解

return [variable[i:i+10] for i in range(0,100,10)] 
+2

http://treyhunner.com/2015/12/python-list-comprehensions-now-in-color/ –

答えて

5

http://treyhunner.com/2015/12/python-list-comprehensions-now-in-color/は偉大なリソースですが、一般的には、Pythonで内包の形式は次のとおりです。

<expression> for <value> in <iterable> [if <criteria>] 

ので壊しますあなたの例から、我々は持っている:

  • の式:variable[i:i+10]
  • i
  • 反復可能range(0,100,10)
  • 何の基準

"拡大" の形式ではありません:

result = [] 
for <value> in <iterable>: 
    [if <criteria>:] 
     result.append(<value>) 

(発電機、辞書、および設定内包表記はすべて似ています)

は、だからあなたを取ります例:

result = [] 
for i in range(0,100,10): 
    result.append(variable[i:i+10]) 
return result 
+0

ありがとう! – Lenko