2016-10-16 17 views
-1

私は現在、このようなリストがあります:Python - リスト内のリストを単一のリストにマージするにはどうすればいいですか?

[3, 4, ['x', 'y', 'z'], 5]

をし、この時

[3, 4, 'x', 'y', 'z', 5]

新しい初心者にそれを作りたい、と周りの検索を試みたが、何かを見つけることができませんでした私は理解することができた。

+0

をint型ので、それはリストのリストをflateningされていません。間違いなく複製。 – sisanared

+0

あなたはそれを解決しようとしないのはなぜですか?たぶん私たちはそれを助けることができます。 – wwii

答えて

0
l=[3, 4, ['x', 'y', 'z'], 5] 
nl=[] 
for x in l: 
    if not isinstance(x,int): 
     for y in x: 
      nl.append(y) 
    else: 
     nl.append(x) 

print(nl) 

ワンライナー

l=[3, 4, ['x', 'y', 'z'], 5] 
nl=[];[nl.extend([x] if isinstance(x,int) else x) for x in l] 

与えられた1がリストの組み合わせですとジャスト `python`にリストのリストを平らグーグル

+0

[isinstance](https://docs.python.org/3/library/functions.html#isinstance) "...オブジェクトの種類をテストするのにおすすめです..." – wwii

+0

"one-liner"はリスト内包表記を使用しない場合の例。必須の技術(データ構造の変更、すなわち 'list.exend')と機能的な構造、すなわちリストの理解とを混在させないでください。また、セミコロンで区切られた行ごとに複数のステートメントを使用することは、一般的には不快であると考えられます。可読性は数えます。 –

関連する問題