Pythonを使用して、個別のリスト内の小さな単語で完全に構成されているリストからすべての単語を印刷しようとしています。例えば;
list1 = ('ABCDEFGHI', 'DEFABCGHI', 'ABCABCGHIABC', 'AACFFFGHI')
list2 = ('ABC', 'DEF', 'GHI')
これらの2つのリストから、印刷する最終出力を取得しようとしています。( 'ABCDEFGHI'、 'DEFABCGHI'、 'ABCABCGHIABC'、)list1のこれらの文字列は、リスト2の短い文字列で完全に構成されているため、文字列 'AACFFFGHI'は、の組み合わせで構成されていないため、印刷しないでください。これらの短い文字列。
したがって、明確にするために、list1から探している文字列。
私はこれに数日間苦労していて、リスト内の個々の文字で構成される文字列を検索できますが、文字のシーケンスで構成される文字列を見つけるのに苦労しています。どんな助けでも大歓迎です。マーカス。
私が考えることができる最も簡単な方法は、のすべてpermutations
の文字列を取得することlist2
です。したがって、これを行う1つの方法は次のとおりです。
list2
join
それらを単一の文字列にset
結果の反復可能ファイルからを構築しますset.intersection
でlist1
from itertools import permutations
perms = set(map(''.join, permutations(list2, r=3)))
perms.intersection(list1)
# {'ABCDEFGHI', 'DEFABCGHI'}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加