如果我有两个列表,就像我必须针对list2查找list1的频率
list1 =[ 'cat','dog','man']
list2 =['cat is sleeping','cat is running','cat and dogs is sleeping ','man dog cat is running']
我如何找到list1到list2的频率 我正在使用
之类的正则表达式for list1 in list1:
for list2 in list2:
re.findall(list1,list2)
但是显示错误 而且我必须将其保存为CSV
类似于list1的名称在行中,而list2的频率在列
答案 0 :(得分:0)
import csv
list1 =[ 'cat','dog','man']
list2 =['cat is sleeping','cat is running','cat and dogs is sleeping ','man dog cat is running']
for i in list1:
count=0
l = []
for j in list2:
if i in j:
count+=1
print i,count
l.append(i)
l.append(str(count))
print l
with open('freq.csv', 'a') as writeFile:
writer = csv.writer(writeFile)
writer.writerow(l)
答案 1 :(得分:0)
一个班轮:
list1 =[ 'cat','dog','man']
list2 =['cat is sleeping','cat is running',
'cat and dogs is sleeping ','man dog cat is running']
res = zip(list1, (map(lambda word: len(list(filter(lambda sen: word in sen, list2))), list1)))
print(dict(res))
将打印:
{'cat': 4, 'dog': 2, 'man': 1}