У меня есть список слов в словаре со значением = повторение ключевого слова, но мне нужен только список отдельных слов, поэтому я хотел подсчитать количество ключевых слов. Есть ли способ подсчитать количество ключевых слов или есть другой способ поиска отдельных слов?
235
len(yourdict.keys())
иlen(yourdict)
O (1). Последний немного быстрее. Смотрите мои тесты ниже.len(yourdict.values())
Количество различных слов (т.е. количество записей в словаре) можно найти с помощью
len()
функции.Чтобы получить все отдельные слова (то есть ключи), используйте
.keys()
метод.источник
Вызов
len()
непосредственно из вашего словаря работает, и это быстрее, чем создание итератора,d.keys()
и вызовlen()
его, но скорость любого из них будет незначительной по сравнению с тем, что делает ваша программа.источник
Если вопрос касается подсчета количества ключевых слов, то рекомендую что-то вроде
в главной функции есть что-то, что проходит через данные и передает значения функции countertoccurrence
Выводы кода
источник
countoccurrences()
должно бытьcount_occurrences()
. Кроме того , если вы импортируетеcollections.Counter
, есть гораздо лучший способ сделать это:from collections import Counter; store = Counter(); for data in list: store[list] += 1
.Некоторые изменения были внесены в опубликованный ответ UnderWaterKremlin, чтобы сделать его python3 доказательством. Удивительный результат ниже как ответ.
Системные характеристики:
Результат:
1) = 37.0100378
2) = 37,002148899999995
Таким образом, кажется, что
len(d.keys())
в настоящее время быстрее, чем просто использованиеlen()
.источник