单词出现的次数

时间:2015-04-08 18:07:09

标签: python string

我必须创建一个带有两个列表的函数。第一个是像["tant", "", "you"]这样的单词列表,第二个列表有["hi", "something", "both", "sporte "]。我想要一个字典,其中第一个列表的单词出现在第二个列表中。

我的代码给了我相反的信息,即给出了第二个列表的单词出现在第一个列表中的次数。 这是我的代码:

from collections import Counter    
    timesmumber def (x, y):            
         number = x
         dicitio = Counter (number)
         return dict (dicitio)

2 个答案:

答案 0 :(得分:4)

您可以使用list.count方法使用词典理解:

>>> l2=["hi", "something", "both", "sporte "]
>>> l1=["tant", "", "you","hi"] 
>>> {i:l2.count(i) for i in l1}
{'': 0, 'you': 0, 'tant': 0, 'hi': 1}

如果您想检查前缀,可以使用sum功能代替count

>>> l1=['some', 'tant', '', 'you', 'hi']
>>> l2=['hi', 'something', 'both', 'sporte ']
>>> {k:sum(1 for j in l2 if k and k in j) for k in l1}
{'': 0, 'hi': 2, 'you': 0, 'tant': 0, 'some': 1}

答案 1 :(得分:4)

所以假设你有一个清单

first_list = ['tant', '', 'you']

和第二个清单

second_list = ['hi', 'something', 'both', 'sporte', 'tant']   

您可以使用内置count方法

创建字典
{nr : second_list.count(nr) for nr in first_list}