嵌套列表python中的单词

时间:2018-05-31 23:46:55

标签: python

我有一个嵌套列表。我需要检查特定字符串是否在列表中的元素中 - 我该怎么做?我正在检查是否"男孩"在列表[0]

list = [["I am a boy"],["I am a girl"]]
print (list[0])
if "boy" in list[0]:
    print ("You got it")

4 个答案:

答案 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)