Так как никто не ответил, сам придумал такое решение
сделать обработчик который будет улавливать char из вводимого символа и соответственно добавлять его в поиск, так как поле ввода только на русском, то вышло таким образом:
alf=['я','ч','с','м','и','т','ь','б','ю','ф','ы','в','а','п','р','о','л','д','ж','э','й','ц','у','к','е','н','г','ш','щ','з','х','ъ','.','1','2','3','4','5','6','7','8','9','0']
numb={'keycode=190':'.','keycode=191':'.','keycode=49':'1','keycode=50':'2','keycode=51':'3','keycode=52':'4','keycode=53':'5','keycode=54':'6','keycode=55':'7','keycode=56':'8','keycode=57':'9','keycode=48':'0'}
#чтобы не терять первый символ ввода(последний в строке)
def obrabotka_sobitija(event):
temp1=str(event)
temp2=temp1.split(' ')
temp3=temp2[4]
temp1=temp3.replace('char=','')
temp3=temp1.replace("'",'')
try:
if temp3 not in alf:
temp3=numb[temp3]
except:
pass
print(event,'\n',temp3)
return temp3
def pril_poisk(event, lbActiv, lbPass, entr, spis):
last_key=obrabotka_sobitija(event)
lbActiv.delete(0, END)
lbPass.delete(0,END)
global b
b=[]
if last_key in alf:
temp=entr.get()+first_key
else:
temp=entr.get()
print(temp)
for i in range(len(spis)):
a=spis[i].find(temp)
if a!=-1:
b.append(spis[i])
lbActiv.insert(END, spis[i])
else:
pass
но было бы круто если б кто более элегантное решение подсказал. спасибо