我需要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]]
編輯: 基本上,我需要Python來列出所有搜索包含在列表中,但如果搜索只包含在一個子列表,我只想要print("there", sublist)
。換句話說,我只想讓Python識別搜索所在的位置,而不是輸出它不在的位置,所以沒有print("not there") print(data)
。
你需要弄清楚你的期望輸出是什麼。如果它在三個子列表中的兩個中呢?你希望你的搜索停在第一個,還是......? – roippi
我同意roippi,你的問題很混亂。在print(「there」,sublist)之後,這看起來像是一個簡單的中斷,但是我不確定,因爲我不知道你真正想要什麼。 – btse
對我來說很清楚,哪個答案應該是@tcaswell已經回答的。 – justhalf