Python如何处理同义词簇嵌套列表 计算每个簇句号的min与max值
实现方案
- 遍历每一个同义词簇,分别收集簇内所有单词、所有出现的句子编号
- 计算所有句子编号的最小值和最大值
- 对仅含1个单词的簇保持原有格式输出,对含多个单词的簇按「单词列表+[min, max]」的格式输出
你可以直接使用如下Python代码实现:
syn_cluster = [[['Jack', [1]]], [['small', [1, 2]], ['modest', [1, 3]], ['little', [2]]], [['big', [1]], ['large', [2]]]] result = [] for cluster in syn_cluster: word_list = [] all_sent_ids = [] for word, sent_ids in cluster: word_list.append(word) all_sent_ids.extend(sent_ids) if len(cluster) == 1: result.append(cluster) else: result.append([word_list, [min(all_sent_ids), max(all_sent_ids)]]) print(result)
运行后输出结果完全符合你的预期:
[[['Jack', [1]]], [['small', 'modest', 'little'], [1, 3]], [['big', 'large'], [1, 2]]]
内容的提问来源于stack exchange,提问作者Hichem Neggaz
相关产品推荐
相关产品推荐

