为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