x = [[1], [2, 3], [1, (3, 5)], [(3, 9), 7, 5]]
,我想
x = [[1], [2, 3], [1, 3, 5], [3, 9, 7, 5]]
我怎样才能做到这一点?
x = [[1], [2, 3], [1, (3, 5)], [(3, 9), 7, 5]]
,我想
x = [[1], [2, 3], [1, 3, 5], [3, 9, 7, 5]]
我怎样才能做到这一点?
您可以通过一系列的for循环来实现这一点。
>>> x = [[1], [2, 3], [1, (3, 5)], [(3, 9), 7, 5]]
>>> l = []
>>> for i in x:
m = []
for j in i:
if isinstance(j, tuple):
m.extend(j)
else:
m.append(j)
l.append(m)
>>> l
[[1], [2, 3], [1, 3, 5], [3, 9, 7, 5]]
@davidism thanks .. done ... – 2015-04-06 14:16:20
谢谢,但我想要一个解决方案,因为我可以有[[1],[2,((5,6),1)]],结果必须是[ [1],[2,5,6,1]](所以如何让你的解决方案在递归形式)? – krm90 2015-04-08 11:43:45
这是一个非常沮丧的方法。把它看作是一个宣言,反对放置大量的lambda表达式,映射,减少在列表解析中对初学者问题的回答。
>>> x = [[1], [2, 3], [1, (3, 5)], [(3, 9), 7, 5]]
>>> eval(str(x).replace('(', '').replace(')', ''))
[[1], [2, 3], [1, 3, 5], [3, 9, 7, 5]]
请分享您的尝试以达到预期的效果。 – 2015-04-06 13:53:32