我有一个嵌套列表。我需要检查特定字符串是否在列表中的元素中 - 我该怎么做?我正在检查是否"男孩"在列表[0]
中list = [["I am a boy"],["I am a girl"]]
print (list[0])
if "boy" in list[0]:
print ("You got it")
答案 0 :(得分:3)
通过引用list[0]
,您指的是子列表(["I am a boy"]
)而不是字符串("I am a boy"
)。要检查子字符串是否在list
的第一个子列表中的字符串内,您必须在执行成员检查时引用字符串而不是列表。
最好避免使用内置函数list()
作为变量的名称。
alist = [["I am a boy"], ["I am a girl"]]
print(alist[0]) # ["I am a boy"]
if "boy" in alist[0][0]: # Refers to the string and not the sublist
print("You got it")
希望这有帮助!
答案 1 :(得分:2)
如果要比较嵌套列表中的所有字符串(假设子列表的深度为1),则可以执行嵌套的for
循环。
list = [["I am a boy"], ["I am a girl"]]
for sub_list in list:
for string in sub_list:
if 'boy' in string:
print("You got it")
答案 2 :(得分:0)
您可以使用循环检查列表中的每个元素
list = [["I am a boy"],["I am a girl"]]
for each in list:
if 'girl' in each[0]:
print("You got it")
答案 3 :(得分:0)
此代码将为您提供包含" boy"的所有子列表的索引列表。我将名称更改为alist
,因为列表是保留字。
indexes = [count for count,item in enumerate(alist) if 'boy' in item[0]]
print(indexes)