我有一个python列表,需要在其中做一些工作。我得到的输出为
UIApplication.shared.beginBackgroundTask
,但我需要获得['fd', 'dfdf', 'keyword', 'ssd', 'sdsd']
['3=', 'fd', 'dfdf', 'keyword', 'ssd', 'sdsd', ';']
答案 0 :(得分:1)
takewhile
的问题是要获得满足条件的元素。
您可以尝试执行此操作(如果我正确理解了您的问题)
l = [1, 2, "3=", "fd", "dfdf", "keyword", "ssd", "sdsd", ";", "dds"]
it = iter(l)
first_index = next(i for i, item in enumerate(it)
if isinstance(item, str) and '=' in item)
last_index = next(i for i, item in enumerate(it, start=first_index+1)
if isinstance(item, str) and ';' in item)
print(l[first_index:last_index + 1])
这将创建一个迭代器it
(这样就不会再次检查已根据拳头条件检查的item
)。
其余的应该很简单
this answer可能也有帮助。