在Python中获得100个最长的电影标题

时间:2019-06-18 11:55:37

标签: python list dictionary max

我正在从{<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位的最长标题。我可能可以使用一种简单的方法,但是我似乎找不到一个,请帮帮我吗?

2 个答案:

答案 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)