正在为 CS1 做一个项目,我快要破解它了,但这部分代码让我难住了!该项目的目标是通过引用一个包含数千个名字的文件来创建任何给定年份的前 20 个名字的列表。每个文件中的每一行都包含名称、性别和出现的次数。该文件按性别分隔(因此女性姓名按出现顺序排列,男性姓名按出现顺序排列)。我已经得到了代码,每个条目都包含在列表中的一个类中(所以这个列表是一长串内存条目)。这是我到目前为止的代码。
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)对列表进行排序,所以最终结果我会得到一个独立于性别排序的列表,然后我可以打印列表中的第一个条目,因为它们应该是我正在寻找的。是否可以像这样对列表进行排序?