2016-08-18 3 views
-4

こんにちは私はPythonの初心者で、forループを使ってコードの一部を読み込もうとしていますが、理解できません。おかげPython forループにはカウンタのインデックスがあります

updateNodeNbrs = [] 
for a in nodeData: 
    updateNodeNbrs.append(a[0]) 
+1

「nodeData」とは何ですか? –

+0

'a'は'(0,1,2、...) 'のような古典的な意味でのループカウンターではありません。代わりに 'nodeData'の値を反復処理し、それらが順番にコンテナである場合は、それらをインデックス化することができます。ループの中に 'a'を印字して、各反復での値を確認してください。 –

+0

例えばJavascriptを使っているなら、Pythonのfor-loopを 'for var of ...'の代わりに 'for var of ...'と考えることができます。 –

答えて

2

あなたはnodeDatadirectly over the elementsを反復しているので、インデックスは必要ありません。現在の要素はaで指定されています。元のコードはpythonic以上であるが

updateNodeNbrs = [] 
for i in range(len(nodeData)): 
    updateNodeNbrs.append(nodeData[i][0]) 

これは、と等価です。


あなたはインデックスが表示されるようしたい場合は、あなたがenumerateでコードを変換することができます:

updateNodeNbrs = [] 
for i, a in enumerate(nodeData): 
    updateNodeNbrs.append(a[0]) 

そしてここで、i要素aの指標となり、そしてあなたがそれを使用することができますループ。既存のリストを持っていて、それをループにしたいとあなたがenumerate機能を使用することができる指標を追跡する場合

0

は同じ質問here

を参照してください。たとえば、

関連する問題