以特定的方式浏览列表

2024-03-28 17:14:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个单词列表,我的输入是列表前半部分中的一个单词(在本例中,这个列表是一首德语歌曲)。现在我取这个单词的长度,跳这个,这个单词在列表中的长度,例如,列表中的第一个单词是“Es”,长度是2。现在我们从“Es”数到2次,然后用“zwei”这个词着陆。我应该浏览一下这个列表,看看这个词是否会再次出现在列表的后半部分。你知道吗

我试过这样做,但当我需要跳过列表中单词的长度时遇到了问题。我正在计算单词的长度,然后我需要在列表中添加前面的单词,直到这个单词。这就是我犯错误的地方。你知道吗

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)

Tags: 列表essong单词worddasalsund
1条回答
网友
1楼 · 发布于 2024-03-28 17:14:29

我不能100%确定您在哪里遇到了问题,但是根据最初的描述,您可以使用列表的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)

输出:

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

相关问题 更多 >