假设我有一个列表:
[('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