我有這個程序來形成一組字符串按字典順序排列的字符串。輸入字符串和字符串本身的數量作爲輸入,程序意圖按字典順序形成包含來自輸入的字符串和子字符串的集合。在python代碼中排序子字符串時拋出內存錯誤
strst=set()
nos=input()
for i in range(0,nos):
ele=raw_input()
for j in range(0,len(ele),1):
for k in range(j+1,len(ele)+1):
strst.add(ele[j:k])
strlst=sorted(strst)
print strlst
氏程序存儲子在一組,後來排序,保持字典順序,最後打印出整個列表
爲如:
INPUT :
2 //number of input strings
aab
aac
OUTPUT
['a', 'aa', 'aab', 'aac', 'ab', 'ac', 'b', 'c']
程序工作正常進行小尺寸的輸入,但是當輸入大小,即輸入字符串的數量和每個字符串的長度在2000範圍內增加時,它會給出例外:
MemoryError thrown on line 9
我thk我還沒有優化代碼。可以優化分類嗎?可以擴展設置數據結構和列表的大小嗎?
如果您可以包含3件事情,這將有所幫助。 1:解釋你所要做的事情,不僅僅是代碼,而且「它不起作用」2:*做的樣本輸入*爲你工作3:輸入經過你的輸入後得到的輸出功能。 –
它真的說'9號線引發的MemoryError?該格式看起來不對。你能粘貼實際的堆棧跟蹤嗎? – user2357112
這是__Python__不是C - 擺脫分號! –