任務是編寫一個程序,該程序提示輸入文件名,然後生成該文件的一致性。例如,一致性是一個按字母順序排列的索引,顯示每個單詞出現在文檔中的行。例如,本段的一致性可能如下所示:python中的一致性文件
Word Line Number
a 1 1 2
alphabetical 1
an 1
appear 2
這裏我列出一個列表,以便我可以對單詞進行排序。
我有這樣的代碼:
f = open(raw_input("Enter a filename: "), "r")
myDict = {}
linenum = 0
for line in f:
line = line.strip()
line = line.lower()
line = line.split()
linenum += 1
for word in line:
word = word.strip()
word = word.lower()
myDict[word] = linenum
if word in myDict:
myDict.sort()
else:
myDict.append(word)
print "%-15s %-15s" %("Word", "Line Number")
print "%-15s %-15d" %(myDict.keys(), myDict.values())
當我現在運行程序,它說「字典」有沒有屬性「排序」。你能解釋一下嗎?
該文件與示例相同,輸出也應該是上面的示例。我很新的python請幫忙:[
這意味着正是它說。 Python字典是無序的,'dict'類型沒有排序方法。你可以做的是調用'.keys()'或'。在字典對象上使用values()'(取決於你想要哪一個),然後對結果進行排序。 – 2012-04-05 03:30:39