我想对列表元素按指定元素切分,这个问题该怎么办?

list1 = ['A', 'B', 'C', 'D', 'F', 'A', 'B', 'C', 'E', 'D', 'F', 'A', 'B', 'D', 'F', 'A', 'C', 'B', 'D', 'F', 'A', 'C', 'D', 'F', 'A', 'C', 'E', 'D', 'F']


把list1变成下面list2这样,按A和F作为列表的开头和结尾,请问该怎么做?

list2 = [['A', 'B', 'C', 'D', 'F'],
['A', 'B', 'C', 'E', 'D', 'F'], 
['A', 'B', 'D', 'F'], 
['A', 'C', 'B', 'D', 'F'],
['A', 'C', 'D', 'F'],
['A', 'C', 'E', 'D', 'F']]
list1 = ['A', 'B', 'C', 'D', 'F', 'A', 'B', 'C', 'E', 'D', 'F', 'A', 'B', 'D', 'F', 'A', 'C', 'B', 'D', 'F', 'A', 'C', 'D', 'F', 'A', 'C', 'E', 'D', 'F']

list2=[]

for i in list1:
    if i=='A':
        arr = []
    elif i=='F':
        list2.append(arr)

    arr.append(i)

print(list2)
from itertools import groupby
data = ['A', 'B', 'C', 'D', 'F', 'A', 'B', 'C', 'E', 'D', 'F', 'A', 'B', 'D', 'F', 'A', 'C', 'B', 'D', 'F', 'A', 'C', 'D', 'F', 'A', 'C', 'E', 'D', 'F']

result = []
# 其中data是我们需要分割的列表,x=='F'是我们以那个元素分割
a = groupby(data, lambda x:x=='F')
for k,g in a:
    if not k:
        b = list(g)
        b.append('F')
        result.append(b)
print(result)