我構建構建與詞,如字典的功能:使用'的.index()`上重複字母
{'b': ['b', 'bi', 'bir', 'birt', 'birth', 'birthd', 'birthda', 'birthday'],
'bi': ['bi', 'bir', 'birt', 'birth', 'birthd', 'birthda', 'birthday'],
'birt': ['birt', 'birth', 'birthd', 'birthda', 'birthday'],
'birthda': ['birthda', 'birthday'],
'birthday': ['birthday'],
'birth': ['birth', 'birthd', 'birthda', 'birthday'],
'birthd': ['birthd', 'birthda', 'birthday'],
'bir': ['bir', 'birt', 'birth', 'birthd', 'birthda', 'birthday']}
這是什麼樣子:
def add_prefixs(word, prefix_dict):
lst=[]
for letter in word:
n=word.index(letter)
if n==0:
lst.append(word[0])
else:
lst.append(word[0:n])
lst.append(word)
lst.remove(lst[0])
for elem in lst:
b=lst.index(elem)
prefix_dict[elem]=lst[b:]
return prefix_dict
它適用於像「生日」這樣的詞,但是當我有一封重複的信時,我遇到了一個問題,比如「你好」。
{'h': ['h', 'he', 'he', 'hell', 'hello'], 'hell': ['hell', 'hello'], 'hello': ['hello'], 'he': ['he', 'he', 'hell', 'hello']}
我知道這是因爲指數(蟒蛇選擇的第一次出現的字母索引),但我不知道如何解決它。是的,這是我的家庭作業,我真的想向你們學習:)
這是爲什麼?它的工作原理 – Yarden
@Yarden:那是因爲我用空格替換了標籤。編輯器使用8個空格作爲製表符,而代碼僅使用4個空格進行渲染,導致您的縮進在您手動縮進的第一行關閉。 –