上位 20 件のオカレンスのリストを印刷すると、必要な実際のデータではなく、オブジェクトの場所だけが得られます。また、改善のためのアイデアがあれば、大歓迎です。助けてください。ありがとう。
これが私のコードです。
class topList():
__slots__ = ( "name", "gender", "occurences" )
def mkList( name, gender, occurences ):
find = topList()
find.name = name
find.gender = gender
find.occurences = occurences
return find
def main():
year = input( 'Enter year: ' )
file = open( 'yob' + year + '.txt' )
lst = []
femaleLst = []
maleLst = []
for line in file:
line = line.strip().split( "," )
names = mkList( line[0], line[1], line[2] )
lst.append( names )
if names.gender == 'F':
femaleLst += [ line ]
else:
maleLst += [ line ]
while len( lst ) < 20:
male = maleLst.pop()
female = femaleLst.pop()
if maleLst.occurences > femaleLst.occurences:
lst += [ male ]
else:
lst += [ female ]
print( lst[ : 20] )
main()