2016-10-16 4 views
0

私はPythonが初めてです。私は範囲に苦しんでいます。私はこの問題を説明することができませんが、私はあなたに問題を表示します。ここで範囲内の文字列が機能していません

私のコード:

my_hanes = ['Blue', 'Red', 'Grey', 'Black'] 
my_hanes_len = len(my_hanes) 
for h in range(0, my_hanes_len): 
    print(my_hanes_len[h]) 

たびに、メッセージがポップアップし、

はどのようにこの問題を解決するのです「『INT』オブジェクトが添字化されていない」と述べましたか?

ありがとうございました!リストmy_hanesの各項目を表示します

my_hanes = ['Blue', 'Red', 'Grey', 'Black'] 
for hanes in my_hanes: 
    print hanes 

これをやろうとしているよう

+8

あなたは 'my_hanes_len'を使用して、あなたのリストにアクセスしようとしているので。私はあなたが実際に 'my_hanes'を使いたいと思います。 – idjaw

答えて

2

print(my_hanes_len[h])の代わりにprint(my_hanes[h])が必要です。

1

あなたは、より簡単にリストの各オブジェクトを反復処理することができます。

+0

Python **のリストはインデックス**でアクセスできます。**それらもソート可能です** **直接的な反復処理が優先されます。あなたのコードは正しいですが、あなたの説明は完全にターゲットから外れています。 – volcano

+0

その部分を削除しました。私は混乱していないリストを混乱させることができません。 –

+1

セットと辞書は**順不同です**、並べ替えが不可能です。 – volcano

0

コードの問題は、my_hanesが文字列の配列であることです。したがって、len(my_hanes)は配列の長さを示す整数値(4)です(別名Pythonリスト)。あなたがリストとしてmy_hanesの各要素の長さを取得したい場合は、1を作るために反復することができます。

my_hanes = ['Blue', 'Red', 'Grey', 'Black'] 
my_hanes_len = list() 
for hanes in my_hanes: 
    my_hanes_len.append(len(hanes)) 
print(my_hanes_len) 
+0

Pythonの規則についての注意点として、インデックスが明示的に必要でない場合は、反復処理をインデックス化するのではなく、リスト内の項目を繰り返し処理する方が一般に好ましい – T3am5hark

関連する問題