I have a list of string and need a better wayt to search for patterns in that list. An exemple of list:
['red','green','red','red','red','red','green','red','red','green','green','red','green','green','red','red','green','green','green','green','green','green','green','red','red','red','red','red','red','green','red','red','red','red','red','red','red','green','green','red','red','green','red','green','green','green','green','green','red','red','green','green','green','red','green','red','green','red','red','green','green','red','green','green','red','red','green','green','red','red','green','green','green','green','red','red','red','red','red','green','green','green','green','red','green','red','green','red','green','red','red','green','red','green','red','green','red','red','red','red','green','red','red','red','green','green','green','red','red','green','green','red','green','red','green','red','green','green','green']
and patterns:
BLUE PATTERN:
['red','green','green','green']
['green','red','red','red']
PINK PATTERN:
['red','green','green','red']
['green','red','red','green']
The method needs to scan my list for patterns and generate another list with the names of the patterns in order that the patterns appeared for exemple:
['blue','pink','blue','blue',..]
That is what i have:
catalogacao = []
if len(self._items) < 4:
return
for i, _ in enumerate(self._items):
if i + 4 > len(self._items):
break
if self._items[i] == "red" and self._items[i+1] == "green" and self._items[i+2] == "green" and self._items[i+3] == "green":
catalogacao.append("blue")
if self._items[i] == "green" and self._items[i+1] == "red" and self._items[i+2] == "red" and self._items[i+3] == "red":
catalogacao.append("blue")
if self._items[i] == "red" and self._items[i+1] == "green" and self._items[i+2] == "green" and self._items[i+3] == "red":
catalogacao.append("pink")
if self._items[i] == "green" and self._items[i+1] == "red" and self._items[i+2] == "red" and self._items[i+3] == "green":
catalogacao.append("pink")