Есть два массива из слов(left_text и right_text). Нужно перебрать первый на совпадения во втором. И если есть совпадения выполнить определенные действия.
def compare():
if win.left_textBrowser.toPlainText() != '' and win.right_textBrowser.toPlainText() != '':
for x in left_text:
print(str(x) + ' check')
if x in right_text:
print(str(x) + ' ok')
win.left_textBrowser.setText(win.left_textBrowser.toPlainText() + green_text + str(x) + green_text_end)
else:
print(str(x) + ' no')
win.right_textBrowser.setText(win.right_textBrowser.toPlainText() + str(x))
Но принт я вижу такой:
...массив 'Были', 'подобранны', 'оптимальные', 'технологи', 'и', 'решения', 'для', 'данной', 'задачи.'] check
...массив 'Были', 'подобранны', 'оптимальные', 'технологи', 'и', 'решения', 'для', 'данной', 'задачи.'] ok
Что я делаю не так? В for вроде правильно беру каждое слово из списка, а в if проверяю на совпадение этого слова в right_text. Дальше, если есть совпадения, перед вставкой слова должно вставится green_text и после green _text_end.
green_text = '<span style=\" font-size:8pt; font-weight:600; color:#00ff00;\" >'
green_text_end = '</span>'
Но хоть я и загружаю одинаковые текста, цвет не меняется. Решил посмотреть в чем дело, с помощью print, и вот. Что-то не так с переборкой массива.