Python 在表行列表中循环,直到一行包含特定字符串?

Python 在表行列表中循环,直到一行包含特定字符串?,python,list,loops,Python,List,Loops,我想循环浏览一系列列表。对于更广泛列表中的每个列表,我希望循环一直运行到第一列包含字符串“Career”的行 例如,下面是我目前正在制作的列表列表: list_of_lists_of_lists = [[[Joe, 2, 3, 5, 6], [Joe, 5, 6, 2, 5], [Joe, 5, 7, 2, 2], ["Career, 24, 234, 2, 53]], [[Brian, 2, 3, 5, 6], [Brian, 5, 6, 2, 5], [Brian, 5, 7, 2, 2],

我想循环浏览一系列列表。对于更广泛列表中的每个列表,我希望循环一直运行到第一列包含字符串“Career”的行

例如,下面是我目前正在制作的列表列表:

list_of_lists_of_lists = [[[Joe, 2, 3, 5, 6],
[Joe, 5, 6, 2, 5],
[Joe, 5, 7, 2, 2],
["Career, 24, 234, 2, 53]],
[[Brian, 2, 3, 5, 6],
[Brian, 5, 6, 2, 5],
[Brian, 5, 7, 2, 2],
["Career, 24, 234, 2, 53],
["String", 3, 2, 3, 4],
["Spaghetti, 3, 2, 2, 6]],
[[Tom, 2, 3, 5, 6],
[Tom, 5, 6, 2, 5],
[Tom, 5, 7, 2, 2],
["Career, 24, 234, 2, 53],
["String, 3, 2, 3, 2]]]
同样,在这些例子中,对于更广泛列表中的每一个列表,我不想读带有“职业”的行,也不想读该行下面的任何内容


注意:我不能简单地删除最后一行,因为在“Career”行下面有多行,例如带有“String”和“Spaghetti”的行。

您可以使用
break
语句:

def my_funct(data):
   for i in data:
        if "Career" in i:
            break
        else:
            yield i

 print(list(my_funct(list_of_lists_of_lists)))
输出:

[[[Joe, 2, 3, 5, 6],
  [Joe, 5, 6, 2, 5],
  [Joe, 5, 7, 2, 2],

请注意,为了使此解决方案能够工作,必须重新格式化列表中的字符串,以便所有字符串都用引号括起来。

@ThomasErnste很高兴提供帮助!