2015-09-25 4 views
1

Извините, я очень новичок в python. То, что я хочу сделать, это посмотреть, в каком списке элемент находится в Что у меня есть некоторые списки созданы как:..Python проверить, есть ли элемент в списке

l1 = [1,2,3] 
    l2 = [4,5,6] 
    l3 = [7,8,9] 

И давайте скажем, я хочу найти какой список пункт 5 в Что я м в настоящее время составляет:

if l1.index(5)!=False: 
     print 1 
    elif l2.index(5)!=False: 
     print 2 
    elif l3.index(5)!=False: 
     print 3 

Но это не сработает. Как мне это сделать?

+6

возможно дубликат [Python: Найти в списке] (http://stackoverflow.com/questions/9542738/python-find-in-list) –

ответ

7

Вы можете использовать in оператор для проверки членства:

>>> 5 in [1, 3, 4] 
False 
>>> 5 in [1, 3, 5] 
True 
+0

Спасибо !! Не знал об этом операторе до – Mrahta

0
if l1.index(5)!=False: 
    print 1 

index() метод не возвращает истинным или ложным, оно возвращает индекс. Таким образом, вы бы изменить это:

if l1.index(5) >= 0: 
    print 1 
+0

Что делать, если его нет в списке? –

+0

Вот что [docs] (https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range) для:). На самом деле, это вызовет ValueError. Переходя с Java, я думал, что он вернет -1. По крайней мере, часть, касающаяся не сравнения возвращаемого значения с булевым литералом, является правильной и полезной. – dsh

+0

Зачем оставлять неправильную позицию? –

Смежные вопросы