2016-11-24 10 views
0

以下のコードは概念的には私にはあまり意味がない別のリストを使用して2dリストを反復しているようです。 以下のコードに相当する範囲内で、レンズを使用すると、わかりにくいです。別のリストを使用して2Dリストを反復する

私はコースワークの作業中に変数名を変更しましたが、抽象度があまりにも高い場合は元の変数名を追加できます。

#list2 is a 2d list 
#list1 is a normal list 
for list1 in list2 
for k in range(n) #n and k are constants 
#any if statement 
+0

コードを書式設定し、 'for'の後ろにコロンを追加してコードを整理する必要があります。また、正確に 'n '(または' k')とは何かが明確ではありません。下の私の答えでは、 'n 'は' list2'の長さと仮定しています。 –

+0

nとkは無関係の定数ですが、私は変数名をどこから変更していたのでしょうか? –

+0

以下に述べるように、最初の 'for'文の前のlist1の値は関係ありません。 list2(list2は2Dリスト= 1Dリストのリスト)の要素をループし、変数list1に値を代入します(1Dリストにします)。 – HolyDanna

答えて

1

"2D"リストは、各要素がそれ自体リストである単なるリストです。あなたがrangeを使用して、バージョンが必要な場合

for list1 in list2: 
    for element in list1: 
     print(element) 

を行い、「メイン」リスト内のリストの各要素にアクセスするには:

L2 = len(list2) 
for i in range(L2): 
    list1 = list2[i] 
    L1 = len(list1) 
    for j in range(L1): 
     element = list1[j] 
     print(element) 

としてのためでrangeを使用して、上記から明らかですコードはあまり読みにくいので、ループは非常にまれです。

関連する問題