python - 从元组列表中删除相似度字符串
问题描述
我需要从元组列表中删除语义相似性字符串。
这是我的输入:
[(327, 328, 'Apache'), (327, 329, 'Apache Kafka'), (328, 329, 'Kafka')]
预期输出:
[(327, 329, 'Apache Kafka')]
实现结果的最佳方法是什么?
解决方案
最简单的方法,但可能不是最优的。
data = [(327, 328, 'Apache'), (327, 329, 'Apache Kafka'), (328, 329, 'Kafka')]
result = []
print(data)
for item1 in data:
hasSimilar = False
for item2 in data:
if item2==item1:
continue
if item1[2] in item2[2]:
hasSimilar = True
break
if not hasSimilar:
result.append(item1)
print(result)
输出:
[(327, 328, 'Apache'), (327, 329, 'Apache Kafka'), (328, 329, 'Kafka')]
[(327, 329, 'Apache Kafka')]
推荐阅读
- python - 列表理解循环
- database - ABP.IO 如何更改所有模块的 DbTablePrefix
- python - 无法获取 json 数据 - JSONDecodeError:期望值
- c# - 无法使用 OpenXML 将带有图像的 HTML 转换为使用 iText7 的 PDF
- javascript - 图像不会加载到静态文件夹中的烧瓶中
- python - 根据列值从 DataFrame 中选择行,限制为 16384 行
- java - PayPal API 设置返回 URL
- apify - 尝试使用 apify web-scraper actor 抓取页面标题时出现错误 403
- gitlab-ci - 使用插件 frontend-maven-plugin 缓存节点模块库
- sql - 如何查询 2 个表,但其中一行可能为空?