【发布时间】:2018-10-24 10:10:17
【问题描述】:
我有一个类似这样的扁平化列表
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)
有人可以提出其他替代方案吗?
【问题讨论】:
-
不清楚你在问什么。你想在开始和结束时使用哪些元组?它们之间会出现哪些列表?
l'中的第二个列表中没有列表,而其中的第三个列表在开始和结束元组之间有两个列表。
标签: python python-2.7 list tuples