Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 16, 2015 20:07:57

Anton_Nikolaev
Зарегистрирован: 2015-12-16
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск значения в списке при помощи in

[u][u][/u][/u]
Понимаю, что вопрос нубский, но потратив три часа часа, мне не удалось понять, что я делаю не так.
Имеется список lto, который я получаю через split из аргумента при запуске.
Имеется значение, которое пытаюсь найти в этом списке.
Что делал: приводил искомое и весь список к lowercase. Не помогло.
Проверял, нет ли там пробелов или иных непечатных символов. Вроде нет.
test='rep@my.domain'
Для эксперимента делал список из одного значения.
lto=['rep@my.domain']
Сравнивал единственное значение списка с искомой строкой - совпадает!
if lto[0]==test:
 print "Одинаково!"
Выдаёт ответ, что совпало.
Но
if test in lto:
 print "Нашёл"
else
 print "Ничего нет :("
Не находит!

Сейчас временно решил через примерно такую конструкцию:
fn=0
for str in lto:
 if str==test:
  fn=1
if fn:
 тут нужные действия

Хочу разобраться, понять, в чём проблема.
Если делаю отвлечённо, сразу с заданными жёстко данными - всё работает нормально.
Если же список получаю через split в нужной программе, in не работает.

Отредактировано Anton_Nikolaev (Дек. 16, 2015 20:16:10)

Офлайн

#2 Дек. 16, 2015 20:37:11

Anton_Nikolaev
Зарегистрирован: 2015-12-16
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск значения в списке при помощи in

Сейчас на домашнем ПК прогнал несколько тестовых примеров, везде отрабатывает поиск нормально.
Очевидно, проблема в исходных данных.
Завтра попробую побайтно разложить и сравнить…

Офлайн

#3 Дек. 16, 2015 23:38:58

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

поиск значения в списке при помощи in

Anton_Nikolaev
for str in lto:
не надо использовать название переменной str - есть такая встроенная функция. Это может создавать проблемы



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#4 Дек. 17, 2015 02:30:04

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

поиск значения в списке при помощи in

Anton_Nikolaev
Имеется список lto, который я получаю через split из аргумента при запуске.
Выводи на экран, чтобы быть уверенным, что там именно то, что ты ожидаешь. Для отображения любых символов есть функция repr().



Офлайн

#5 Дек. 17, 2015 15:36:55

Anton_Nikolaev
Зарегистрирован: 2015-12-16
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск значения в списке при помощи in

Так и не разобрался. Оставил вариант со сравнением каждого элемента.
Ну да и ладно.

Делал бота для рассылки по списку контактов, вроде нормально работает.
Выглядит коряво, ну что поделать )

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version