python - 列表中接近重复的元素

标签 python list

country_input = input('Search item: ') 
list_A = ['250177 Dominican Republic', '160 Dominica' ]
for items in list_A:
     val = items
     if any(country_input in val for items in list_A):
        print(items)
Search item: Dominica
250177 Dominican Republic
160 Dominica

嗨,最大的问题是我只想检索多米尼加,而不是多米尼加共和国,因为多米尼加共和国和多米尼加几乎重复。它总是同时检索多米尼加共和国,有什么解决办法吗

最佳答案

您可以使用正则表达式word boundaries找到完全匹配的内容。
简而言之:\b 允许您使用 \bword\b 形式的正则表达式执行仅完整单词搜索。

import re

country_input = input("Search item: ")
list_A = ["250177 Dominican Republic", "160 Dominica"]

regex = re.compile(r"\b{}\b".format(country_input))
for item in list_A:
    if regex.search(item):
        print(item)

输出:

Search item: Dominica
160 Dominica

关于python - 列表中接近重复的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66784939/

相关文章:

python - 如何在不更改全局打印选项的情况下显示数据框的所有列?

python - 基于Enum迭代或索引列表

python - 在Python中比较列表/字典中单词的最有效方法

c++ - STL列表、 vector 和集合的底层数据结构是什么?

c# - 遍历列表并从中删除项目的最佳方法?

python - 删除空的嵌套列表 - Python

python - 尝试对无穷远顶点实现外接圆计算时,Bowyer-Watson 三角测量不正确

python - 在来自每个客户端的几条消息后,Select 返回空套接字列表

python - Symbian 的堆栈限制是否也适用于 PyS60?

python - 如何让 Python AWS Lambda 打开作为电子邮件对象存储在 S3 中的电子邮件