Я пытаюсь создать поисковую систему, которая находит ключевое слово для поиска, содержащее несколько AND, OR и круглые скобки. Сейчас я пытаюсь заменить круглые скобки логическими значениями.
Поэтому, если у меня есть список ["A", "или", "(", "B", "and", "C", ")"], я хочу изменить этот список на ["A", "или ", Правда].
Сначала я попробовал ключевое слово del, затем добавил логическое значение, как показано ниже. Это работает, это единственный пример. Однако у меня могут быть круглые скобки в начале или середине списка, и в этом случае это не сработает (потому что ключевое слово append всегда добавляет элементы в конец)
Также я пробовал ключевое слово replace, но оно вернуло выходные данные ["A", "or", "T", "r", "u", "e"]
Как я могу заменить ["(", "B", "and", "C", ")"] на True?
sentence = ["B", "C", "D"]
search = ["A", "or", "(", "B", "and", "C", ")"]
if "(" in search:
start = search.index("(")
end = search.index(")")
bracket = search[start + 1 : end]
if "and" in bracket:
index_of_and = bracket.index("and")
if bracket[index_of_and - 1] and bracket[index_of_and + 1] in sentence:
print("both in")
bracket = 'True'
else:
print("only one or nothing in")
bracket = 'False'
elif "or" in bracket:
index_of_or = bracket.index("or")
if bracket[index_of_or -1] in sentence or bracket[index_of_or +1] in sentence:
bracket = 'True'
else:
bracket = 'False'
else:
if bracket[0] in sentence:
bracket = 'True'
else:
bracket = 'False'
del search[start:end+1]
search = search.append(bool(bracket))