在列表中搜索完全由另一个列表中的较短字符串组成的字符串

问题描述 投票:1回答:1

[使用python,我希望打印列表中的所有单词,这些单词完全由单独列表中的较小单词组成。例如;

list1 =('ABCDEFGHI','DEFABCGHI','ABCABCGHIABC','AACFFFGHI')

list2 =('ABC','DEF','GHI')

从这两个列表中,我试图将最终输出打印出来;(“ ABCDEFGHI”,“ DEFABCGHI”,“ ABCABCGHIABC”,)由于列表1中的这些字符串完全由列表2中的较短字符串组成。但是,不应打印字符串“ AACFFFGHI”,因为它不是由这些较短字符串的组合组成的。

因此,尝试澄清一下,我正在从list1中寻找的字符串;

  • 应该完全由list2中的字符串组成
  • 可以包含列表2中多次出现的字符串
  • 不需要使用列表2中列出的所有字符串

我已经为此苦苦挣扎了几天,可以在列表中搜索由单个字符组成的字符串,但是我在努力寻找由字符序列组成的字符串。任何帮助将非常感激。马库斯。

python string list search nlp
1个回答
0
投票

我能想到的最简单的方法是,获得permutations中所有的字符串permutations。这是您可以继续的方法:

  • list2中的字符串获取所有排列
  • [list2他们成一个字符串
  • 根据结果的可迭代项构造join
  • setset.intersection

list1
© www.soinside.com 2019 - 2024. All rights reserved.