python - 在项目列表中,保留第一个项目并删除与模式匹配的其余项目(使用 python)

标签 python pattern-matching

list = ['Scott 83% top', 'Tony 22%', 'Tony B 12% failed', 'James 66%', 'James Lipton 9%', 'Adams 76% excellent', 'Scott Brown 53%']    
pattern = ['Scott', 'Tony', 'James']

我想要的结果是:

['Scott 83% top', 'Tony 22%', 'James 66%']

最佳答案

这样可以吗?

In [1]: list = ['Scott 83% top', 'Tony 22%', 'Tony B 12% failed', 'James 66%', 'James Lipton 9%', 'Adams 76% excellent', 'Scott Brown 53%']

In [2]: pattern = ['Scott', 'Tony', 'James']    

In [3]: l=[]

In [4]: for item in list:                                                                                                                                                   
   ...:     for p in pattern:
   ...:         if item.startswith(p):
   ...:             l.append(item)
   ...:             pattern.remove(p)
   ...:             break
   ...:             

In [5]: l
Out[5]: ['Scott 83% top', 'Tony 22%', 'James 66%']

关于python - 在项目列表中,保留第一个项目并删除与模式匹配的其余项目(使用 python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17958708/

相关文章:

python - 比较 Django 模型中的旧字段和更新字段

python - 使用关系运算符的 SPARQL 查询

python - 使用不同数据帧的值更新特定的 Pandas 行

c - 如何使用 PCRE 获取所有匹配组?

delphi - 在 Delphi 中使用通配符搜索字符串中的模式?

元组类型上的 F# 模式匹配

python - 在 Python 中定义函数列表

python - 如何使用 python 脚本获取谷歌搜索结果提要而不被识别为机器人?

scala - 匹配是语言特征吗?

javascript - 输入模式匹配