我正在通過練習Building Skills in Python,據我所知沒有任何發佈的解決方案。學習Python和使用字典
在任何情況下,我都試圖讓字典計算原始列表中某個數字出現的次數,然後再刪除重複項。出於某種原因,儘管下面的主題有很多變化,但我似乎無法增加字典中每個「鍵」的值。
我怎樣才能用字典編碼?
dv = list()
# arbitrary sequence of numbers
seq = [2,4,5,2,4,6,3,8,9,3,7,2,47,2]
# dictionary counting number of occurances
seqDic = { }
for v in seq:
i = 1
dv.append(v)
for i in range(len(dv)-1):
if dv[i] == v:
del dv[-1]
seqDic.setdefault(v)
currentCount = seqDic[v]
currentCount += 1
print currentCount # debug
seqDic[v]=currentCount
print "orig:", seq
print "new: ", dv
print seqDic
關於您的代碼:i = 1賦值是錯誤的,並且不會被使用。範圍從0開始,而不是1.範圍(len(dv)-1)中的'-1'也是錯誤的。另外,你應該看看內置的'enumerate',而不是使用範圍(len(dv))。 – 2010-01-03 02:18:13