Python如何在两个列表之间找到一个不完全相同的单词?

标签 python python-3.x

我想比较两个列表,第一个列表是我要查找的单词,另一个列表包含我需要查找的字符串

我尝试使用正则表达式,但正则表达式无法散列列表。

数据

split_data = ['Java Programmer',
              'Candidate must possess at least Bachelor Degree in Engineering (Computer/Telecommunication), Computer Science/Information Technology or equivalent.',
              'similar job','Software Developer','Data Scientist']   
related_str = ['related','recommended','similar']

这个只适用于“相似”

index_target = [i for i, item in enumerate(split_data) if re.search(re.compile("^similar"),item)]

我试过了

for item in enumerate(split_data):
        if item in related_str:
            index_target.extend(item)

我希望输出是

['similar job'] 

但它返回

[]

最佳答案

您似乎不需要正则表达式。只需使用简单的 in 和列表理解:

[sdata for rstr in related_str for sdata in split_data if rstr in sdata]
# ['similar job']

关于Python如何在两个列表之间找到一个不完全相同的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55451047/

相关文章:

python - 如何遍历列表?

python - 调试 ansible 跟踪以查找 python 云堆栈模块中可能存在的错误

python - 实现一个 `Card` 类

python-3.x - 类型错误 : can't apply this __setattr__ to DefaultMeta object - Flask app - python

python - 编译成字节码占用太多内存

python - 将 lambda 放入 NumPy `np.fromfunction()` 会导致 TypeError

python - Python是如何将一个函数变成一个方法的?

python - 检测对比图像的纹理背景

python - 是否有一种 pythonic 方法来迭代范围字典以构建新字典?

python-3.x - 如何修复 'NameError: name ' 字段'未定义'