簡體   English   中英

以特定方式瀏覽列表

[英]Going through the list in a specific way

我有一個單詞列表,我的輸入是列表前半部分的單詞之一(在這種情況下,這個列表是一首德語歌曲)。 現在我把這個詞的長度和這個詞在列表中的長度跳起來,fe列表中的第一個詞是“Es”,長度是2。現在我們從“Es”開始計數2次,我們按詞着陸“茨威”。 我應該通過此列表 go 並檢查該單詞是否再次出現在列表的后半部分。

我嘗試這樣做,但是當我需要跳轉列表中單詞的長度時遇到問題。 我正在使用單詞長度,然后我需要添加列表中之前出現的單詞直到這個單詞。 這是我得到錯誤的地方。

song = ["Es", "gingen", "zwei", "Parallelen",
"ins", "Endlose", "hinaus",
"zwei", "kerzengerade", "Seelen",
"und", "aus", "solidem", "Haus",

"Sie", "wollten", "sich", "nicht", "schneiden",
"bis", "an", "ihr", "seliges", "Grab",
"Das", "war", "nun", "einmal", "der", "beiden",
"geheimer", "Stolz", "und", "Stab",

"Doch", "als", "sie", "zehn", "Lichtjahre",
"gewandert", "neben", "sich", "hin", #hin[42]
"da", "wards", "dem", "einsamen", "Paare",
"nicht", "irdisch", "mehr", "zu", "Sinn",

"Warn", "sie", "noch", "Parallelen",
"Sie", "wußtens", "selber", "nicht", 
"sie", "flossen", "nur", "wie", "zwei", "Seelen",
"zusammen", "durch", "ewiges", "Licht",

"Das", "ewige", "Licht", "durchdrang", "sie",
"da", "wurden", "sie", "eins", "in", "ihm",
"die", "Ewigkeit", "verschlang", "sie",
"als", "wie", "zwei", "Seraphim"]

word = input("Enter a word")

if word in song[0:43]:
    print(word)
    a = song[len(word)+song[0:word]]
    print(a)

我不能 100% 確定您在哪里遇到問題,但根據最初的描述,您可以使用列表的index function 來確定值的位置。

然后,您可以通過在此處找到的單詞的長度來增加 index 的值。

在將找到的值添加到列表之前,檢查它是否已經存在並且 - 如果存在 - 跳過它。

song = ["Es", "gingen", "zwei", "Parallelen",
"ins", "Endlose", "hinaus",
"zwei", "kerzengerade", "Seelen",
"und", "aus", "solidem", "Haus",

"Sie", "wollten", "sich", "nicht", "schneiden",
"bis", "an", "ihr", "seliges", "Grab",
"Das", "war", "nun", "einmal", "der", "beiden",
"geheimer", "Stolz", "und", "Stab",

"Doch", "als", "sie", "zehn", "Lichtjahre",
"gewandert", "neben", "sich", "hin", #hin[42]
"da", "wards", "dem", "einsamen", "Paare",
"nicht", "irdisch", "mehr", "zu", "Sinn",

"Warn", "sie", "noch", "Parallelen",
"Sie", "wußtens", "selber", "nicht", 
"sie", "flossen", "nur", "wie", "zwei", "Seelen",
"zusammen", "durch", "ewiges", "Licht",

"Das", "ewige", "Licht", "durchdrang", "sie",
"da", "wurden", "sie", "eins", "in", "ihm",
"die", "Ewigkeit", "verschlang", "sie",
"als", "wie", "zwei", "Seraphim"]

#word = input("Enter a word")
word = "zwei" # The input
found_list = [] # The list for found words
index = song.index(word) # Get the index of the first instance of "word"
while True: # Keep running until "break"
    try: # This will throw an error when index is out of range
        # If the word at index is not already in found_list, add it
        if song[index] not in found_list: 
            found_list.append(song[index])
        # regardless of whether you add the found word, 
        # increment the index by the length of the found word
        index += len(song[index]) 
    except: 
        break

print(found_list)

OUTPUT:

['zwei', 'hinaus', 'solidem', 'bis', 'seliges', 'beiden', 'als', 'Lichtjahre', 'nicht', 'Warn', 'Sie', 'ewiges', 'sie', 'ihm', 'verschlang']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM