wordle-solver / src /utils.py
Reshinth Adithyan
Initial Commit
c5f913a
raw
history blame contribute delete
No virus
1.54 kB
from itertools import count
from src.metrics import get_word_list,Metrics
import logging
import random
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
class WordHash:
def __init__(self) -> None:
self.word_list = get_word_list()
def slice_pos(self,pos_letter_pair_list:list)->list:
counter = 0
tmp = []
tmp_super_list = []
for pos_letter_pair in pos_letter_pair_list:
pos,letter,flag = pos_letter_pair[0],pos_letter_pair[1],pos_letter_pair[2]
if flag == "G":
if counter == 0:
for word in self.word_list:
if word[pos] == letter:
tmp.append(word)
else:
tmp = [word for word in tmp if word[pos] == letter]
counter = counter + 1
else:
tmp_super_list.append(tmp)
if counter == 0:
for word in self.word_list:
if word[pos] == letter:
tmp_super_list[-1].append(word)
else:
tmp_super_list[-1] = [word for word in tmp_super_list[-1] if word[pos] == letter]
counter = counter + 1
if len(tmp_super_list) != 0:
return [ i for i in tmp_super_list if len(i) > 0]
elif len(tmp) != 0 and len(tmp_super_list) == 0:
return [tmp]
else:
return [self.word_list]