import gzip input_file = gzip.open("UP000000625.swiss.gz", "rt") di = {} flag = False file = [] s = [] for line in input_file: file.append(line) input_file.close() for i in range(len(file)): if file[i][0:2] == 'KW': flag = True if flag: if file[i].strip()[len(file[i].strip()) - 1] == '.': s.append(file[i].strip()[3:len(file[i].strip()) - 1].strip()) else: s.append(file[i][3:].strip()) if file[i + 1][0:2] == 'KW': continue else: a = ''.join(s) flag = False b = a.split(';') for j in b: if j.strip().split('{')[0].strip() in di: di[j.split('{')[0].strip()] += 1 else: di[j.split('{')[0].strip()] = 1 s = [] val = [] for key, value in di.items(): val.append((value, key)) val.sort(reverse=True) sc = 0 for i in range(len(val)): print(val[i]) sc += 1 if sc >= 10: if val[i][0] == val[i + 1][0]: continue else: break