Мне нужен Python для поиска всех подсписок заданного списка, но это не работает, когда я ищу элемент, содержащийся только в одном из них. Например, это мой код:Поиск нескольких подвыписей одного и того же списка в Python
data = [[4,5],[4,7]]
search = 4
for sublist in data:
if search in sublist:
print("there", sublist)
else:
print("not there")
print(data)
и это работает очень хорошо, если мой поиск содержатся во всех подсписках перечней. Однако, если мой поиск, например, 5, то я получаю:
there [4,5] #I only want this part.
not there # I don't want the rest.
[[4, 5], [4, 7]]
EDIT: В принципе, мне нужно Python перечислить все списки поиска содержится, но если поиск содержится только в один подсписок, я хочу только print("there", sublist)
. Другими словами, я хочу, чтобы Python распознавал места поиска, а не выводил их там, поэтому нет print("not there") print(data)
.
Вам нужно уточнить, каков ваш ожидаемый результат. Что, если он находится в двух из трех подписок? Вы ожидаете, что ваш поиск остановится на первом, или ...? – roippi
Я согласен с roippi, ваш вопрос действительно запутан. Кажется, что это просто прорыв после 'print (« there », sublist)', это то, что вы ищете, но я не уверен, потому что я не знаю, чего вы действительно хотите. – btse
Мне совершенно ясно, какой ответ должен быть именно тем, что ответил @tcaswell. – justhalf