2012-05-19 43 views

回答

7

我的解决办法是简单明了:

result = [] 
for x in a: 
    if isinstance(x, list) and len(x) == 1: # check item type and length 
     result.append(x[0]) 
    else: 
     result.append(x) 

还是相同的,但一个行

>>> [x[0] if isinstance(x, list) and len(x) == 1 else x for x in a] 
[3, 4, 1, 8, 9, [3, 4, 5]] 
+0

谢谢,成功了! –

+2

@Levon它与'map(lambda x:x [0] if isinstance(x,list)和len(x)== 1 else x,a)'是一样的。 –

+1

@Not_a_Golfer我知道(和列表理解:-),这个解决方案是优雅的,所以我upvote。我只是认为,如果答案不仅仅包含简短的解决方案代码,以防某些读者不太熟悉解决问题的更多pythonic方法,那么答案会更有用。我发现答案现在以有用的方式得到了增强。都很好。 – Levon

相关问题