的Python:从整数列表中提取一个值,并列出
问题描述:
我有一个列表如下:的Python:从整数列表中提取一个值,并列出
a = [3, 4, [1], 8, 9, [3, 4, 5]]
我想,以确定当这些特性列表只有一个值,然后将其解压到主列表:
预计输出
a = [3, 4, 1, 8, 9, [3, 4, 5]]
我知道如何在一个列表组成的列表中提取值,但在这种情况下,我不知道如何
答
我的解决办法是简单明了:
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]]
谢谢,成功了! –
@Levon它与'map(lambda x:x [0] if isinstance(x,list)和len(x)== 1 else x,a)'是一样的。 –
@Not_a_Golfer我知道(和列表理解:-),这个解决方案是优雅的,所以我upvote。我只是认为,如果答案不仅仅包含简短的解决方案代码,以防某些读者不太熟悉解决问题的更多pythonic方法,那么答案会更有用。我发现答案现在以有用的方式得到了增强。都很好。 – Levon