爲CS1工作,我接近破解它,但是這部分代碼難倒我!該項目的目標是通過引用一個包含數千個名字的文件來創建任何給定年份前20名的名單。每個文件中的每一行都包含名稱,性別以及它發生的次數。這個文件是按性別分開的(所以女性的姓名按其出現的順序依次是男性姓名和後面的順序)。我已經獲得了代碼,其中每個條目都包含在列表中的一個類中(因此該列表是一長串內存條目)。這是我到目前爲止的代碼。Python:按類對象對列表進行排序
class entry():
__slots__ = ('name' , 'sex' , 'occ')
def mkEntry(name, sex, occ):
dat = entry()
dat.name = name
dat.sex = sex
dat.occ = occ
return dat
##test = mkEntry('Mary', 'F', '7065')
##print(test.name, test.sex, test.occ)
def readFile(fileName):
fullset = []
for line in open(fileName):
val = line.split(",")
sett = mkEntry(val[0] , val[1] , int(val[2]))
fullset.append(sett)
return fullset
fullset = readFile("names/yob1880.txt")
print(fullset)
我想知道如果我能在這一點上做的是我可以通過sort()或其他功能的使用對此列表進行排序,但排序,它們的出現的列表(在每個條目dat.occ)等等在最終的結果中,我將有一個獨立於性別排序的列表,然後在那一點上,我可以列出列表中的第一個條目,因爲它們應該是我正在尋找的。是否可以像這樣對列表進行排序?
這工作完美!非常感謝^。^我們還沒有學習關鍵功能,但不幸的是,如果我的教授不接受D,我可能不得不找到一種全新的方式來做到這一點:但謝謝你給我看:) – BLU