簡體   English   中英

在嵌套列表中搜索字符串(python)

[英]Search for string in a nested list (python)

我有一個nested_list = [['a'],['b','c'],['b','d']],我有'b'的目標元素,我將如何搜索這個列表返回包含元素的列表,因此 ['b', 'c'],['b','d'] ?

我試過了,但它只給了我['b','c']:

for elem in nest_list:
   for item in elem:
      if 'b' in item:
        return elem

這是因為您返回了該項目,並且一旦到達 return 語句,此循環就不會再次運行。 如果您將return elem替換為print(elem) ,您會看到兩個結果都被打印出來。

如果您想返回這兩個值,那么您可以創建另一個數組來附加您的結果,然后在 for 循環之外返回它:

returnList = []
for elem in nest_list:
    if 'b' in elem:
        returnList.append(elem)
return returnList 

請注意,您還可以刪除其中一個 for 循環,因為in列表中進行檢查。

for elem in nest_list:
   for item in elem:
      if 'b' in item:
        print(elem,end=",")

您可以使用列表理解:

nested_list = [['a'], ['b','c'], ['b','d']]

output = [sublst for sublst in nested_list if 'b' in sublst]
print(output) # [['b', 'c'], ['b', 'd']]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM