Получение 100 самых длинных фильмов в Python - PullRequest
0 голосов
/ 18 июня 2019

Я читаю данные из файла tsv, в котором есть заголовков фильмов .Я сохранил все заголовки и их длины в виде пары ключ-значение в моем Counter объекте 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 самых длинных заголовков из counter.values().Я, вероятно, мог бы использовать тривиальный метод для этого, но я не могу найти один, пожалуйста, помогите мне?

Ответы [ 2 ]

1 голос
/ 18 июня 2019

Если вы хотите использовать счетчик, вы можете написать

counter.most_common(100)

, который даст вам отсортированный список кортежей (название, длина).Я бы тоже написал

counter[title] = len(title)
1 голос
/ 18 июня 2019

Вы можете извлечь все заголовки в списке, а затем выбрать первые 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]
...