Существует два списка. Один список называется lst1 = [word1, word2, ......], длина lst более 40000. Другой список, называемый lst2 = [word1, word2, ......], длина lst2 составляет около 10100 Lst2 - это функциональные слова, я хочу получить частоту lst2 слов в lst1. Например:Python3: как быстро вычислить частоту слов в большом списке, если слово этого списка есть или нет в другом списке больших слов
lst1 = ['I', 'am', 'foot', 'girl', 'mom', 'fish', 'mom, 'baby']
lst2 = ['mom', 'baby', 'mother'].
Так частота lst2 слов в lst1: это 'мама': 2, 'ребенок': 1, 'мать': 0. Мой код выглядит следующим образом:
def pronoun_feature(lst1, lst2):
dict_p = {}
for item in lst2:
if item in lst1:
num_item = lst1.count(item)
dict_p.update({item: num_item})
else:
dict_p.update({item: 0})
return dict_p
Вы знаете длину два моих списка две больших, время вычисления берется около 0.02-0.1s. У вас есть более быстрый способ приблизиться к моему результату. Заранее спасибо!
благодаря @Maurice, скорость вычислений в 3 раза больше, чем раньше. – tktktk0711
Я рад помочь - функции библиотеки, как правило, намного быстрее, чем ваши собственные реализации :-) – Maurice