I have a list of tuples like:
[(1,a),(2,b), (1, e), (3, b), (2,c), (4,d), (1, b), (0,b), (6, a), (8, e)]
I want to split it into list of lists at every "b"
[[(1,a),(2,b)], [(1, e), (3, b)], [(2,c), (4,d), (1, b)], [(0,b)], [(6, a), (8, e)]]
is there any pythonic way to do this?
You can use yield
.
def get_groups(lst):
t = []
for i in lst:
t.append(i)
if i[1] == 'b':
yield t
t = []
if t:
yield t
my_list = [(1,a),(2,b), (1, e), (3, b), (2,c), (1, b), (0,b)]
groups = list(get_groups(my_list))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With