У меня сплюснутый список l что-то вроде этого
l = [(2.0000001192092896, 3.3999999761581421), [4, 3], (1.9999999701976776, 1.7999999821186066), (0.875, 1.125), [-1, 0], [-1, 4], (1.5, 3.5)].
Я хочу создать список списков, содержащих кортежи в начале и конце, примерно так:
l' = [[(2.0000001192092896, 3.3999999761581421), [4, 3], (1.9999999701976776, 1.7999999821186066)],[(1.9999999701976776, 1.7999999821186066),(0.875, 1.125)], [(0.875, 1.125), [-1, 0], [-1, 4], (1.5, 3.5)],[(1.5, 3.5),(2.0000001192092896, 3.3999999761581421)]]
l'
содержит все кортежи и список между ними, если таковые имеются.
Я пытался сделать то же самое, используя следующий код, но не смог успешно реализовать:
full_list = []
state = 0
for ind,value in enumerate(l):
if isinstance(value, tuple):
if state == 0:
state = 1
inner_list = []
if ind == len(l) - 1:
k = 0
else:
k = ind + 1
j = l[k]
if isinstance(j,tuple):
full_list.append(inner_list)
inner_list.append(j)
else:
state = 0
inner_list.append(value)
print(full_list)
Может кто-нибудь предложить некоторыедругая альтернатива?