Pythonic way to determine whether not null list entries are 'continuous'

后端 未结 11 1313
渐次进展
渐次进展 2021-02-01 01:35

I\'m looking for a way to easily determine if all not None items in a list occur in a single continuous slice. I\'ll use integers as examples of not None items

11条回答
  •  轮回少年
    2021-02-01 02:01

    You could use something like itertools.groupby:

    from itertools import groupby
    
    def are_continuous(items):
        saw_group = False
    
        for group, values in groupby(items, lambda i: i is not None):
            if group:
                if saw_group:
                    return False
                else:
                    saw_group = True
    
        return True
    

    This will iterate only until it sees a group twice. I'm not sure if you consider [None, None], so tweak it to your needs.

提交回复
热议问题