首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >单词出现的次数

单词出现的次数
EN

Stack Overflow用户
提问于 2015-04-09 02:07:09
回答 2查看 116关注 0票数 1

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

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

代码语言:javascript
运行
复制
from collections import Counter    
    timesmumber def (x, y):            
         number = x
         dicitio = Counter (number)
         return dict (dicitio)
EN

回答 2

Stack Overflow用户

发布于 2015-04-09 02:09:40

您可以在list.count方法中使用字典理解:

代码语言:javascript
运行
复制
>>> 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

代码语言:javascript
运行
复制
>>> 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}
票数 4
EN

Stack Overflow用户

发布于 2015-04-09 02:14:51

所以假设你有一个列表

代码语言:javascript
运行
复制
first_list = ['tant', '', 'you']

和第二个列表

代码语言:javascript
运行
复制
second_list = ['hi', 'something', 'both', 'sporte', 'tant']   

您可以使用内置的count方法创建字典

代码语言:javascript
运行
复制
{nr : second_list.count(nr) for nr in first_list} 
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29522160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档