ノイズに囲まれた既知のパターンを含むリストが与えられた場合、そのパターンに等しいすべてのアイテムを取得するエレガントな方法はありますか? 私の粗いコードについては以下を参照してください。
list_with_noise = [7,2,1,2,3,4,2,1,2,3,4,9,9,1,2,3,4,7,4,3,1,2,3,5]
known_pattern = [1,2,3,4]
res = []
for i in list_with_noise:
for j in known_pattern:
if i == j:
res.append(i)
continue
print res
私たちは得るだろう2, 1, 2, 3, 4, 2, 1, 2, 3, 4, 1, 2, 3, 4, 4, 3
ボーナス: 完全なパターンが存在しない場合は i を追加しないでください (つまり、1,2,3,4 は許可しますが、1,2,3 は許可しません)。
例:
find_sublists_in_list([7,2,1,2,3,4,2,1,2,3,4,9,9,1,2,3,4,7,4,3,1,2,3,5],[1,2,3,4])
[1,2,3,4],[1,2,3,4],[1,2,3,4]
find_sublists_in_list([7,2,1,2,3,2,1,2,3,6,9,9,1,2,3,4,7,4,3,1,2,6],[1,2,3,4])
[1,2,3],[1,2,3],[1,2,3]
リストには名前付きタプルが含まれています。