【问题标题】:I am trying to get output like below using pythone code...any suggestions?我正在尝试使用 python 代码获得如下输出...有什么建议吗?
【发布时间】:2021-08-16 22:45:48
【问题描述】:

我正在尝试使用 pythone 代码获得如下输出...有什么建议吗?

list=["ABCPMCABCCMD","CMDABC"] list2=["ABC","CMD"]

输出: [ABCABCCMD,CMDABC]

【问题讨论】:

  • lst=["ABCMD"] 的结果应该是什么?
  • 如果这是你的第一个列表,那么输出应该是 [ABC]
  • 欢迎来到 Stack Overflow。请注意,这不是代码编写或辅导服务。我们可以帮助解决具体的技术问题,而不是对代码或建议的开放式请求。请编辑您的问题以显示您迄今为止尝试过的内容,以及您需要帮助的具体问题。有关如何最好地帮助我们帮助您的详细信息,请参阅如何提出一个好问题页面。

标签: python-3.x list slice list-comparison


【解决方案1】:

你可以使用re模块:

import re

list1 = ["ABCPMCABCCMD", "CMDABC", "ABCMD"]
list2 = ["ABC", "CMD"]

r = re.compile("|".join(re.escape(w) for w in list2))
out = ["".join(r.findall(word)) for word in list1]
print(out)

打印:

['ABCABCCMD', 'CMDABC', 'ABC']

【讨论】:

    猜你喜欢
    • 2019-07-17
    • 2011-04-03
    • 2021-06-21
    • 2018-12-13
    • 2019-05-05
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多