Python匹配两个列表之间的列表元素中的部分字符串

qwerty12

在我的代码中,我试图将“ match”项与“ data”列表中的字符串进行匹配。

我希望代码查看“匹配”列表中的第一个单词,如果它与数据“列表”中的字符串匹配,那么它将被添加到另一个列表中。我想做的第二项检查是“匹配”列表中的前两个单词是否与数据中的字符串匹配。

目前,我的输出仅给我一个水实例12-而这两个声音都已被拾取。

请有人让我知道我可能要去哪里了吗?


match =['f helo','happy hellp','floral', 'alpha','12133','water12 puppies']
data=['f we are', 'hello there', 'alpha beta','happy today is the case','112133 is it', 'floral is my fave', 'water12 if healthy','water12 puppies are here and exist']

lst=[]
for i in match:
    for j in data:
        if i.split()[0] in j:
            lst.append(j)
            data.remove(j)
            break
        if len(i) > 1:
            k= ' '.join(i.split()[:2])
            if k in j:
                lst.append(j) 
                data.remove(j)
                break
                
    else:
        lst.append(i + ' - not found')

print(lst)

所需的输出:

output= [ 'f we are', 'alpha beta','happy today is the case','112133 is it', 'floral is my fave', 'water12 if healthy','water12 puppies are here and exist']
拉鲁巴斯托

您不想从要迭代的列表中删除元素。相反,您可以添加条件以验证匹配的单词是否已添加到输出列表中。

应该是这样的:

lst = []
for i in match:
    has_match = False
    for j in data:
        if i.split()[0] in j:
            has_match = True
            print(i, j)
            if j not in lst:
                lst.append(j)
        if len(i) > 1:
            k = ' '.join(i.split()[:2])
            if k in j:
                has_match = True
                print(i, j)
                if j not in lst:
                    lst.append(j)
    if not has_match:
        lst.append(i + ' - not found')

我还删除了break关键字,因为它们可能会阻止您的代码在中找到多个字符串中的匹配项data使用布尔值即可完成工作。如果您还有其他问题,请告诉我们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:检查两个列表之间的字符串是否部分匹配

来自分类Dev

如何使用python有效地匹配两个大列表之间的字符串?(510.000.000比较)

来自分类Dev

Python:比较具有两个不同列表长度的列表中的字符串

来自分类Dev

匹配两个Python字符串中的字符

来自分类Dev

匹配两个Python字符串中的字符

来自分类Dev

Python中的列表交集和部分字符串匹配

来自分类Dev

Python字符串提取:提取两个预定义字符串之间的部分

来自分类Dev

匹配字符串中两个索引之间的子字符串

来自分类Dev

Python中两个嵌套的字符串列表之间的减法

来自分类Dev

Python:列表中字符串元素之间的平均距离

来自分类Dev

Python:列表中字符串元素之间的平均距离

来自分类Dev

如何将列表中的整数和字符串元素分成两个不同的列表?

来自分类Dev

查找两个熊猫数据框之间的部分字符串匹配的最快方法

来自分类Dev

如何使用Python检查两个列表中的字符串是否几乎相等

来自分类Dev

优化两个列表之间的元素明智模糊匹配

来自分类Dev

Python如何找到两个子字符串之间的字符串列表?

来自分类Dev

在python中的两个列表之间交换两个元素

来自分类Dev

匹配两个列表,一个带有部分字符串,另一个带有完整字符串,如果匹配则返回整个字符串

来自分类Dev

grep完全匹配字符串的两个部分

来自分类Dev

python difflib打印只匹配两个字符串之间的部分

来自分类Dev

匹配两个符号之间的字符串并替换

来自分类Dev

Python匹配相似的字符串,并从两个列表中将它们分组在一起

来自分类Dev

Python regex - 将两个单词之间的文本捕获为字符串,然后附加到列表

来自分类Dev

如何比较2个列表,其中字符串与备用列表中的元素匹配

来自分类Dev

匹配两个列表并使用Powershell查找卸载字符串

来自分类Dev

如何在正则表达式标识的两个特定列表位置之间串联列表的元素(字符串)?

来自分类Dev

sed在url中两个匹配字符串之间输出一个值

来自分类Dev

匹配字符串中具有两个或多个<br>元素的HTML元素

来自分类Dev

R中两列之间的部分字符串匹配

Related 相关文章

  1. 1

    Python:检查两个列表之间的字符串是否部分匹配

  2. 2

    如何使用python有效地匹配两个大列表之间的字符串?(510.000.000比较)

  3. 3

    Python:比较具有两个不同列表长度的列表中的字符串

  4. 4

    匹配两个Python字符串中的字符

  5. 5

    匹配两个Python字符串中的字符

  6. 6

    Python中的列表交集和部分字符串匹配

  7. 7

    Python字符串提取:提取两个预定义字符串之间的部分

  8. 8

    匹配字符串中两个索引之间的子字符串

  9. 9

    Python中两个嵌套的字符串列表之间的减法

  10. 10

    Python:列表中字符串元素之间的平均距离

  11. 11

    Python:列表中字符串元素之间的平均距离

  12. 12

    如何将列表中的整数和字符串元素分成两个不同的列表?

  13. 13

    查找两个熊猫数据框之间的部分字符串匹配的最快方法

  14. 14

    如何使用Python检查两个列表中的字符串是否几乎相等

  15. 15

    优化两个列表之间的元素明智模糊匹配

  16. 16

    Python如何找到两个子字符串之间的字符串列表?

  17. 17

    在python中的两个列表之间交换两个元素

  18. 18

    匹配两个列表,一个带有部分字符串,另一个带有完整字符串,如果匹配则返回整个字符串

  19. 19

    grep完全匹配字符串的两个部分

  20. 20

    python difflib打印只匹配两个字符串之间的部分

  21. 21

    匹配两个符号之间的字符串并替换

  22. 22

    Python匹配相似的字符串,并从两个列表中将它们分组在一起

  23. 23

    Python regex - 将两个单词之间的文本捕获为字符串,然后附加到列表

  24. 24

    如何比较2个列表,其中字符串与备用列表中的元素匹配

  25. 25

    匹配两个列表并使用Powershell查找卸载字符串

  26. 26

    如何在正则表达式标识的两个特定列表位置之间串联列表的元素(字符串)?

  27. 27

    sed在url中两个匹配字符串之间输出一个值

  28. 28

    匹配字符串中具有两个或多个<br>元素的HTML元素

  29. 29

    R中两列之间的部分字符串匹配

热门标签

归档