检查一个单元中至少两次单词出现



假设我有一个列表:

[('a','Organization'),('b','Organization'),('c','Person'),('d','Location'),('e','Organization')]

我怎么知道'Organization'一词是否在此列表中至少出现两次?

我也得到了另一个解决方案:

Counter([c for (w,c) in list])['ORGANIZATION'] >= 2

您可以使用发电机理解和sum来计算出现 'Organization'的次数:

l = [('a','Organization'),('b','Organization'),
     ('c','Person'),('d','Location'),('e','Organization')]
sum(1 for i,j in l if j == 'Organization') > 2
# True

尝试以下:

a = [('a','Organization'),('b','Organization'),('c','Person'),('d','Location'),('e','Organization')]
check_tot_appearance = sum(1 for i in a if 'Organization' in i)>=2

输出

True
list = [('a','Organization'),('b','Organization'),('c','Person'),('d','Location'),('e','Organization')]
sublist = [value[1] for value in list]  # retrieve every second value of each tuple
print(sublist.count('Organization'))  # find occurrences of 'Organization'

使用 operator.itemgetter

另一种方式

ex:

from operator import itemgetter
data = [('a','Organization'),('b','Organization'),('c','Person'),('d','Location'),('e','Organization')]
print(list(map(itemgetter(1), data)).count("Organization"))

输出:

3

使用 filter在元组和计数长度中检查是否'

a=[('a','Organization'),('b','Organization'),('c','Person'),('d','Location'),('e','Organization')]
print(len(list(filter(lambda x: 'Organization' in x,a)))>=2 )
#output True

最新更新