我有一个元组列表,如:
[(1,a),(2,b), (1, e), (3, b), (2,c), (4,d), (1, b), (0,b), (6, a), (8, e)]
我想把它分成每个“b”的列表列表
[[(1,a),(2,b)], [(1, e), (3, b)], [(2,c), (4,d), (1, b)], [(0,b)], [(6, a), (8, e)]]
有没有pythonic方式来做到这一点?
最佳答案
my_list = [(1, "a"),(2, "b"), (1, "e"), (3, "b"), (2, "c"), (1, "b"), (0, "b")]
result, temp = [], []
for item in my_list:
temp.append(item)
if item[1] == 'b':
result.append(temp)
temp = []
if len(temp) > 0:
result.append(temp)
print result
# [[(1, 'a'), (2, 'b')], [(1, 'e'), (3, 'b')], [(2, 'c'), (1, 'b')], [(0, 'b')]]