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