python - 在 python 中比较并从列表中提取字符串

标签 python

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/

相关文章:

python - cached_property 何时重置?

python - Python ElasticSearch查询错误

python - Django:如何将上下文提供给 FormView get() 方法(也使用请求参数)

Python 正则表达式转义字符

python - QStandardItem.setText(QString) 有意外类型 'QVariant' ?

python - Soundcloud API python 与链接分区相关的问题

python - Django Websockets 数据转到错误的套接字

python - django xlsxwriter 中的日期时间问题

python 一个更愚蠢的调试

python - WTForms 中的可选但不是空字段