python一个列表根据某个元素前后分割

from itertools import groupby
data = [123, '', '456', '', '789']
# 其中data是我们需要分割的列表,x==''是我们以那个元素分割
result = [list(g) for k, g in groupby(data, lambda x:x=='') if not k]
print(result)
运行结果:[[123], ['456'], ['789']]