LIST=['insert_job: aaa', 'box_name: bbb', 'insert_job: ccc',
'box_name: ddd', 'insert_job: eee', 'insert_job: fff',
'box_name: ggg']
上面的列表中是否有2个连续的insert_job: ('insert_job: eee', 'insert_job: fff')
那么我想先打印insert_job:
在这种情况下将是 insert_job: eee
.
最佳答案
您可以使用 itertools.groupby
来实现此目的
from itertools import groupby
LIST = ['insert_job: aaa', 'box_name: bbb', 'insert_job: ccc',
'box_name: ddd', 'insert_job: eee', 'insert_job: fff',
'box_name: ggg']
for k, g in groupby(LIST, lambda s: s.split(':')[0]):
if k == 'insert_job':
items = list(g)
if len(items) > 1:
print(*items[:-1])
关于python - 在 python 中比较并从列表中提取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42662116/