Есть ли способ разбить список по определенному значению - по сути это string.split () для списков. Пример:
[1, 2, 4, 3, 5, 2, 5]
вернет
[[1], [4, 3, 5], [5]]
Я могу придумать несколько решений, которые будут медленными, но я использую это в попытке ускорить код, и поэтому если он будет медленно работать в списках длиной около 10 000 маленьких (single-di git) чисел, тогда это не поможет, я подумал о простом решении, таком как
list1 = [1, 2, 4, 3, 5, 2 etc.]
list2 = []
for i, val in enumerate(list1):
if val == 2:
list2.append([])
else:
list2[len(list2)-1].append(val)
, но я не уверен, что это действительно очень быстро. Есть ли лучший способ?