我有一个不同字符串的列表(这是一个示例):
strs = ["FOOBAR", "PYTHON", "MAPARTS"]
我得到了另一个包含子字符串的列表,上一个列表中的一个字符串可能包含:
substrs = ["ARTS", "FOO", "PY", "BAR", "MAP"]
我想列一个清单,列出所有的字符串 strs
可以用两个字符串在 substrs
,由它们拆分并 Package 在列表或元组中。因此,完成的列表如下所示:
[("FOO", "BAR"), ("MAP", "ARTS")]
我不知道该怎么处理,至少用一种简单的方法。有什么帮助吗?
3条答案
按热度按时间gpfsuwkq1#
如果您想检查两种方法的任何组合
tokens
一个单词列在words
:导致:
omqzjyyz2#
最简单的方法可能是遍历子字符串列表。对于中的每个值
substrs
,跟踪(使用已完成的列表)是否将其前置到其他每个子字符串会导致中存在的值strs
.也许有一个更有效的算法,但这种方法是最简单的方法,我来解决这个问题。
afdcj2ne3#
使用itertools.permutations->
在这里,我们的想法是获取长度2的所有排列,然后连接并检查是否在第一个列表中可用