2016-07-12 8 views
-1

私はリストのリストを持っているとしましょう。サブリスト自体にサブリストを含めることができます。すべてのサブリストのすべての要素を特定のタイプに変換する効率的な方法は何でしょうか?サブリストのすべての要素をどのようにタイプに変更できますか?

a = [ 
    1, 
    2, 
    3, 
     [ 
     "a", 
     "b" 
     ], 
     [ 
     10, 
     20, 
      [ 
      "hello", 
      "world" 
      ] 
     ], 
    4, 
    5, 
    "hi", 
    "there" 
] 

のアイデアはこれにそれのような何かを変換するために、次のようになります:

のは、それがこのような厄介なものだとしましょう、私が扱っへのアプローチを探しています

a = [ 
    "1", 
    "2", 
    "3", 
     [ 
     "a", 
     "b" 
     ], 
     [ 
     "10", 
     "20", 
      [ 
      "hello", 
      "world" 
      ] 
     ], 
    "4", 
    "5", 
    "hi", 
    "there" 
] 

注意任意の深さのサブリスト。私はジェネレータがこのために使用できると感じていますが、私はこれにどのように接近するのか分かりません。

+0

任意にネストされたリストを横断議論するいくつかの質問があります。ここでの唯一の違いは、遭遇する各ノードで関数を呼び出すことです。 –

答えて

6

最も簡単な方法は、(あなたのリストが問題を引き起こすようにネストのでになることはほとんどありません)を再帰的にそれを行うことです。

def to_string(L): 
    return [ str(item) if not isinstance(item, list) else to_string(item) for item in L ] 
関連する問題