我有一个这样的列表
[(1.0, 1.5), [2, 2], (1.5, 1.0), (1.1428571343421936, 0.28571426868438721), [1, 0], (0.5, 0.0), (0.66666668653488159, 0.0), [0, 0], [0, 1], (0.5, 1.25)]
我想通过将元组元素添加为子列表的第一个和最后一个元素来创建子列表,如下所示:
[[(1.0, 1.5), [2, 2], (1.5, 1.0)],[(1.1428571343421936,
0.28571426868438721), [1, 0], (0.5, 0.0)],[(0.66666668653488159, 0.0), [0, 0], [0, 1], (0.5, 1.25)]]
我尝试使用以下代码,但似乎无法正常工作,因为我无法弄清楚如何以所需的方式选择元组。还会给出索引错误。
full_list = []
for ind,value in enumerate(flat_list):
if isinstance(value,(tuple)):
a = []
a.append(value)
temp = 0
while(temp!=1):
ind = ind + 1
j = flat_list[ind]
a.append(j)
if type(j) == 'tuple':
temp = 1
break
full_list.append(a)
else:
continue
print(full_list)
请提出一些建议!
答案 0 :(得分:0)
break
作为while
循环的最后一条语句可以用if
代替。
full_list = []
state = 0
for value in flat_list:
if isinstance(value, tuple):
if state == 0:
state = 1
inner_list = []
full_list.append(inner_list)
else:
state = 0
inner_list.append(value)
print(full_list)