我正在从{<1}}文件中读取数据,该文件具有电影标题。我已经将所有 titles 及其 lengths 作为 key值对存储在我的tsv
对象Counter
中:< / p>
counter
我知道如何使用with open(sys.argv[1], encoding="utf-8") as tsv_file:
csv_reader = csv.reader(tsv_file, delimiter="\t")
counter = Counter()
for entry in csv_reader:
title = entry[1]
counter [title] += len(title)
方法,但是现在我想显示.most_common()
中排名前100位的最长标题。我可能可以使用一种简单的方法,但是我似乎找不到一个,请帮帮我吗?
答案 0 :(得分:1)
您可以提取列表中的所有标题,然后按标题长度对列表进行排序后选择前100个元素
#List of titles
titles = [entry[1] for entry in csv_reader]
#Sort the titles by length of string, and get first 100 elements
result = sorted(titles, key=len)[:100]
答案 1 :(得分:1)
如果您要坚持使用计数器,可以写
counter.most_common(100)
为您提供元组的排序列表(标题,长度)。 我也会写
counter[title] = len(title)