2016-03-28 3 views
1

リスト( '')内の空白/空白のインデックスを取得し、それらを新しいリストに追加しようとしています。しかし、私がそうするとき、それは最初のインデックスを何度も何度も付け加えるだけです。リストからのインデックスの追加が正しく動作しない

for line in line_list: 
     if line == '': 
      tlist.append(line_list.index(line)) 

私は、この修正プログラムは非常に簡単である必要があります知っているが、それは私にすべての午後をイライラされています。私を与えTLIST

印刷[3,3,3,3,3,3,3,3,3,3,3 .......]

+0

これを実行しようとしている言語にタグを付けると便利です。 – NAMS

+0

これは私の悪いことでした。一定 –

答えて

1

index()機能はのインデックスを返します最初にの値が発生するため、動作しません。リストの内包表記を使用すると、より理にかなっている、とenumerate()はあなたに、各要素のインデックスを教えてくれます、代わりにこれを試してみてください:

tlist = [idx for idx, line in enumerate(line_list) if line == ''] 
0

Pythonでindex()関数は、指定された要素の最初のオカレンスだけを返します。結果として、空の要素の最初の出現のインデックスのみをtlistに追加します。代わりに、enumerate関数を使用して、変数内のインデックス番号でループすることができます。また

for index, line in enumerate(line_list): 
    if line == '': 
     tlist.append(index) 

、あなたは私が個人的にfor eachループでenumerateを使用するのではなく、推薦whileループを、使用することができます。ここをクリック

index = 0 
while index < len(line_list): 
    line = line_list[index] 
    if line == '': 
     tlist.append(index) 
    index += 1 

どちらの方法もあなた次第ですが、どちらもうまくいきます。

関連する問題