在两个列表中找出每个单词的频率

2024-06-25 05:53:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个名单,其中有一些细菌的名称和其他研究摘要我必须找到细菌的频率在名单的摘要名称名单

example list:-

list1 = ['Bac1','Bac2','Bac3','Bac4','Bac5','Bac']
list2 = ['Abstract1','Abstract2','Abstract3','Abstract4','Abstract5','Abstract6']

我必须找出在List2Abstract1、abctract2等中发现list1内容的次数


Tags: 名称examplelist频率细菌名单list2list1
3条回答

我试过下面的代码。让我知道这是你问题的预期结果。你知道吗

print("List1 is : ",list1)
print("List2 is : ",list2)
for list_1 in list1:
    c=0
    for list_2 in list2:
        if list_1 is list_2:
            c+=1
    if c>0:
        print(list_1 ," frequency is : " ,c)

输出

List1 is :  ['Bac1', 'Bac2', 'Bac3', 'Bac4', 'Bac5', 'Bac']
List2 is :  ['Abstract1', 'Bac5', 'Bac3', 'Abstract4', 'Bac5', 'Abstract6']
Bac3  frequency is :  1
Bac5  frequency is :  2

您可以使用Counter。你知道吗

from collections import Counter

cntwords = Counter(list2)
for bacteria in list1:
    print(f"{bacteria}: {cntwords[bacteria]}") #using formatted string literals, available since python3.6

您需要遍历list1并使用list2中的count()方法

语法:

list2.count(element)

其中元素将是来自list1的元素。你知道吗

相关问题 更多 >