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)
나는 일종의() 또는 다른 기능의 사용을 통해이 목록을 정렬하지만, 그래서 (각 항목에 dat.occ)들이 발생하여 목록을 정렬 할 수 있습니다 궁금 무엇 최종 결과에서 나는 성별과 별개로 정렬 된 목록을 가지게 될 것이고, 그 시점에서 목록에있는 첫 번째 항목을 인쇄 할 수 있습니다. 이런 식으로 목록을 정렬 할 수 있습니까? 오른쪽
fullset.sort(key=lambda x: x.occ, reverse=True)
이것은 완벽하게 작동했습니다! 고마워요 ^.^우리는 핵심 기능에 대해 아직 배운 havent하지만 불행히도 내 교수가 받아들이지 않으면 완전히 새로운 방법을 찾아야 할 수도 있습니다 D :하지만 그것을 보여 주셔서 감사합니다 :) – BLU