我想什麼做的是這樣的:由字符的字符/組合,對字典比較分手字符串
testdictionary = {"a":1, "b":2, "c":3, "A":4}
list1 = []
list2 = []
keyval = 200
for char in string:
i = 0
y = "".join(list1)
while y in testdictionary:
list1.append(string[i])
i +=1
list2.append(y[:-1])
testdictionary[y] = keyval
keyval +=1
string = string[((len(list1))-1):]
list1 = []
所以對於一個字符串「abcacababa」所需的輸出將是:
['ab', 'ca', 'cab', 'aba']
或 「AAAAA」 將是
['A', 'AA'. 'AA']
採取abcacababa
。迭代通過我們得到a
這是在testdictionary
所以我們再追加list1
。這次我們有ab
這不在字典中,所以我們把它作爲testdictionary
的一個關鍵字添加,值爲200.然後再次執行相同的過程,我們將ca
加到testdictionary
的值爲201.然後,因爲我們已經添加ca
,附加到list2
的下一個值將是cab
等等。
我想要做的是取一個字符串,並將每個字符與一個字典進行比較,如果該字符是字典中的一個鍵添加另一個字符,請執行此操作,直到它不在字典中的哪一點將其添加到字典並給它賦值,繼續爲整個字符串做這個。
這段代碼顯然有很多錯誤,但它也不起作用。 i
索引超出範圍,但我不知道如何處理這個迭代。此外,我需要添加if語句以確保末尾字符串的「剩餘部分」被附加到list2
。任何幫助表示讚賞。
也許這只是我,但我不明白示例輸入和輸出。你能更清楚地瞭解其中一個還是兩個? – mitoRibo
是的,@ rbierman說 - 你的問題描述必須更加明確和清晰,或許有一些更詳細的例子。沒有人可以幫助你修復那些應該做一些你在非工作代碼中主要描述的代碼。 – pvg
@rbierman,剛編輯過的文章修復字典。採取'abcacababa'。迭代通過我們得到'test'中的'''',所以我們再次追加'list1'。這次我們有'ab',它不在字典中,所以我們將它作爲'testdictionary'的一個鍵添加爲200.然後再次執行相同的過程,我們將'ca'添加到'testdictionary'中然後,由於我們已經添加了'ca',附加到'list2'的下一個值將會是'cab'等等。我希望這至少能夠澄清一點,對於我的解釋不清晰表示歉意。 – Boa