2017-11-21 11 views
1

私はテンプレートからスクランブルされたテキストを取り出し、場所を見つける小さなスクリプトを作成しようとしています。私は試行錯誤しても動作させることさえできました。問題は.....私はそれがどのように機能するのか分かりません。誰かが私のためにそれを明確にすることができますか? は、ここでは、コードです:整数でリストを追加する

word_list = """something 
Location: City 
other_something""" 
word_list = word_list.split() 
indexes = [(index + 1) for index in range(len(word_list)) if word_list[index] == "Location:"] 
location = [] 
location2 = [] 
for index in indexes: 
    location2 = location.append(word_list[index]) 
print location 

都市の名前は常にフレーズ「場所:」の後に来ることを実現した後、私は次の単語を検索し、印刷するためのpythonを望んでいました。それは動作します!今私が得ない部分は、location2が空のままである理由です。私の理解には、それは場所と同等でなければならない。か否か ?なぜ答えはその場所にとどまっていますか? 私は完全な初心者ですので、非常に単純ではない回答は私の理解を超えているかもしれません。あなたがリストの.index()属性を利用することができ

+1

'some_list.append(some_value)'はインプレースで動作し、 'None'を返します。あなたが何を返すのかは分かりませんが、 'location2'は単純にループ内で' None'に繰り返し設定されます。 –

+1

予想される出力を表示できますか?あなたがこのコードから何を返そうとしているのかは不明です。 – RoadRunner

+1

「City」を返すだけです。 .appendの代わりに何を使用しますか? –

答えて

1
I hope this makes sense, this code is a bit wacky. 

# This line of code assigns a value to the variable word_list 
word_list = """something 
Location: City 
other_something""" 
# This line makes a list from the words, with each item in the list being one word 
word_list = word_list.split() 
# This line loops the variable index over the range of the word_list, and if the index's value is "Location:" it stores 
# index+1 into a list called indexes 
indexes = [(index + 1) for index in range(len(word_list)) if word_list[index] == "Location:"] 
# This makes an empty list called location 
location = [] 
# This makes an empty list called location2 
location2 = [] 
# This loops over the indexes in indexes 
for index in indexes: 
    # This line of code never stores anything to location2, because location.append appends to the list called 
    # 'location', and since location.append does not return a value to store, location2 remains empty 
    location2 = location.append(word_list[index]) 
# This line prints the list called location. 
print location 
1

word_list = """something 
Location: City 
other_something""".split() 

print word_list[word_list.index('Location:')+1] 

これは単に、このような状況で'City'を印刷します。 index()は、最初の引数で指定された要素のインデックスを返します。 'Location'のインデックスに1を追加すると、word_listの次の要素にアクセスできます。word_stringの形式が変更されない場合は、常にその位置になります。

+0

はい、それは本当に役立ちます。答えを提供し、私の初心者のコードを修正していただきありがとうございます:) –

関連する問題