Я пытаюсь проверить, существует ли строка в списке:
В моей строке нет специальных символов, таких как {,}, \ n, \ n \ n
string1='hi'
string2='I'
string3='am new to this'
где, поскольку моя запись в списке содержит такие строки, как:
list_count = "{hi}","\n I","am \n new {to} this\n\n"
Я хочу знать, как проверить соответствие строк, рассматривая только «текстовую часть» списка
Примечание: у меня есть n строк для проверки в списке
Я пробовал код ниже, похоже, не работает моя цель
строки = строка1, строка2, строка3
код:
for i in strings:
if i in list_count:
print('yes')
Я хочу, чтобы результат был положительным для таких проверок, как:
if 'hi' in list_count:
Он должен печатать да, проверяя только текстовую часть, но не включая '{' '}'






Вам необходимо преобразовать list_count, удалив специальные символы, пробелы и т. д.
list_count = "{hi}","\n I","am \n new {to} this\n\n"
string1='hi'
string2='I'
string3='am new to this'
strings=string1,string2,string3
ignored = ['{','}','\n']
final_list = []
for item in list_count:
for k in ignored:
# remove special characters
item = item.replace(k,"")
# remove extra spaces
item = " ".join(item.split())
final_list.append(item)
for i in strings:
if i in final_list:
print('yes')
@Shivam Singh Это работает в нескольких случаях. Для немногих есть пробелы между ними, которые не становятся полосатыми. Я пытаюсь удалить пробелы после замены игнорируемого символа. code для элемента inp: for k in ignored: # удалить специальные символы item = item.replace (k, '') # удалить лишние пробелы item = "" .join (item.split ()) final_list.append (item.strip ())
final_list имеет некоторые строки с пробелами, и он не получает полосатый bz, из которых условие не выполняется
Приведите, пожалуйста, точный пример final_list, я уже удалил пробелы с помощью item = " ".join(item.split()). Он должен работать.
@Shivam Singh В final_list я получаю несколько строк, как показано ниже: `list_count = " hi "," I "," am new \ nto this "` Вместо: list_count = "hi","I","am new to this"
Какова ценность list_count в этом случае?
list_count = "hi","I","am new \n to this" это не обязательная вещь
Измените ignored = ['{','}','\n','\\n'], который, я думаю, может иметь место здесь
@Shivam Singh нашел проблему. Спасибо. Пришлось добавить "" в список игнорируемых
это не будет масштабируемым, для каждого специального символа вам сначала нужно будет обновить свой код. Также это излишне усложняет код. Нет абсолютно никакой производительности, эффективности или ценности, если сначала преобразовать
list_countв список неспециализированных символов, а затем проверить, а наоборот.