g
- итератор, а не (просто) итерация. Следовательно, повторение по нему не обязательно воспроизводимо;в этом случае перебор итератора исчерпывает его. Вы можете увидеть эффект этого, дублируя ваш вызов на печать:
for k,g in groupby(list1, key=lambda x: x.split(' ')[0]):
print(list(g))
print(list(g))
list0.append(list(g))
print(list0)
Вывод:
['Test0 A.csv']
[]
[[]]
['Test1 A.csv', 'Test1 B.csv']
[]
[[], []]
['Test2 A.csv', 'Test2 B.csv', 'Test2 C.csv']
[]
[[], [], []]
Чтобы решить эту проблему, сохраните созданный на нем список вимя, которое вы можете распечатать и добавить:
for k,g in groupby(list1, key=lambda x: x.split(' ')[0]):
g_list = list(g)
print(g_list)
list0.append(g_list)
print(list0)