0

私はこのようなリストを1つ持っています:

a = [3, 4, [1], 8, 9, [3, 4, 5]]

これらの特性を持つリストに値が1つしかない場合を特定し、それをメインリストに抽出します。

期待される出力

a = [3, 4, 1, 8, 9, [3, 4, 5]]

リストで構成されるリストの値を抽出する方法は知っていますが、この場合は方法がわかりません

4

1 に答える 1

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)

または同じですが1行

>>> [x[0] if isinstance(x, list) and len(x) == 1 else x for x in a]
[3, 4, 1, 8, 9, [3, 4, 5]]
于 2012-05-19T18:24:33.293 に答える