我有一個字符串,其中有數以千計的數字。我需要瀏覽字符串並找到數字順序最長的一組字符。例如:在Python中以字符串的數字順序查找最長的字符串
string = '1223123341223455'
該字符串中最長的字符串按數字順序爲1223455且長度爲7個字符。下面是我目前所面對的一個例子:該字符串索引超出範圍就行
r=r2=''
a=b=0
while a < len(string)+1:
if string[a] <= string[b]:
r += string[a]
else:
if len(r) < len(r2):
r = r2
a += 1
b += 1
有了這個它告訴我:
if string[a] <= string[b]
這裏是我的邏輯:檢查看看第一個數字是否小於或等於第二個數字。如果是,那兩個數字按數字順序排列。將第一個數字添加到空字符串中。繼續這樣做直到第一個數字大於第二個數字時碰到一個點。達到這一點之後,保存你已經作爲一個字符串並繼續你離開的地方,除了這次將你累積的數字連接到一個不同的字符串。在你有兩串數字之後,比較兩個數字並取較高的數字。繼續執行,直到完成字符串的處理。我希望這是有道理的,很難解釋。
的'string'模塊很少使用這些天,而且,無論如何,擁有該名稱的變量不會阻止您從模塊導入。當你使用諸如'str'這樣的內置名字時,陰影只是一個問題。 – MRAB 2012-07-14 01:08:49