Странный результат проверки нахождения элемента в массиве

Ситуация такова, следующий код:

print('INFO = '+ str(info))
print('SERVER = '+ server)
info[1] = info[1].split(',')
print(info[1])
print(server in info[1])

Дает такой результат:

INFO = ['123', 'test,lamp,zabbix,']
SERVER = lamp
['test', 'lamp', 'zabbix', '']
False

Абсолютно не понимаю как там может быть False, в чем может быть причина? Спасибо!


Ответы (2 шт):

Автор решения: Алексей Secla

Если я правильно понимаю, то он считает info[1] как целое слово, даже если разделить его запятой. Видимо, надо менять изначальное условие info, чтоб они были отдельными словами, то есть:

info = ["123", "test", "lamp", "zabbix"]
server = "lamp"
print('INFO = '+ str(info))
print('SERVER = '+ server)
print(server in info)

Выдавать будет:

INFO = ['123', 'test', 'lamp', 'zabbix']
SERVER = lamp
True
→ Ссылка
Автор решения: Artesah

Решил! Всем спасибо за отклик.

Кому интересно: Сделал server.encode(), и оказалось что в в конце у у него был \r. Данные заходят с заббикса, поэтому не понял почему так. Забавно ещё то что при тестировании из него \r нету, а непосредственно в работе есть.
Дописал ' server = server.replace('\r', '')' и все заработало как надо

→ Ссылка