以下是一个示例代码,以按照一个属性对对象数组进行分组,并计算另一个属性中关键词的出现次数的解决方法:
from collections import defaultdict
# 定义一个对象类
class MyObject:
def __init__(self, group, text):
self.group = group
self.text = text
# 创建对象数组
objects = [
MyObject('Group 1', 'apple orange banana'),
MyObject('Group 1', 'apple peach'),
MyObject('Group 2', 'orange banana'),
MyObject('Group 2', 'apple orange'),
MyObject('Group 3', 'banana peach'),
]
# 定义关键词
keywords = ['apple', 'orange', 'banana']
# 创建一个字典,用于按照分组属性进行分组
grouped_objects = defaultdict(list)
# 将对象按照分组属性进行分组
for obj in objects:
grouped_objects[obj.group].append(obj)
# 创建一个字典,用于存储关键词出现次数
keyword_counts = defaultdict(int)
# 遍历分组后的对象数组
for group, group_objects in grouped_objects.items():
for obj in group_objects:
# 统计关键词出现次数
for keyword in keywords:
if keyword in obj.text:
keyword_counts[keyword] += 1
# 打印关键词出现次数
for keyword, count in keyword_counts.items():
print(f"{keyword}出现了{count}次")
运行以上代码,将会输出关键词出现的次数:
apple出现了3次
orange出现了3次
banana出现了3次
下一篇:按照一个数字分割字符串