Почему следующий код не работает?Python Поиск по спискам в списках
data = [["4","5"],["3","7"]]
search = "4"
for sublist in data:
if sublist[1] == "4":
print ("there"), sublist
break
else:
print("not there")
break
Очень жаль, что все путаницы, все. Я пытался проверить весь список и все его подсписки, и я не понял, что это будет проверять только второй элемент списка, поскольку я забыл, что Python имеет 0-ю позицию для первого элемента. Но как я могу проверить весь список? удалить «break» и [1]?
* Что * Не работает? –
В коде правильно указано «нет» - в списке нет подписок, второй элемент которого «4». – kindall
.. Ваши 'print' тоже странные. Если вы используете Python 2, вам не нужны скобки.И если вы используете Python 3, 'print (« there »), sublist' фактически не будет печатать' sublist'. Вы на самом деле создаете кортеж длиной-2 (print («there»), sublist) '- где' print («there») 'возвращает' None', а затем отбрасывает его. Вероятно, вы имели в виду 'print (« there », sublist)'. – DSM