リストのみを外す方法
以下のようなリストのリストだけを外したいと考えています。
python
1a = [[{'a': 0}], [{'a': 0}]]
つまり、以下のようになってほしいと考えています。
[{'a': 0}, {'a': 0}]
そこで、以下のような関数を定義し実行して見ました。
python
1def flatten(data): 2 for item in data: 3 if hasattr(item, '__iter__') and not isinstance(item, str): 4 for element in flatten(item): 5 yield element 6 else: 7 yield item 8a = [[{'a': 0}], [{'a': 0}]] 9list(flatten(a))
その実行結果が以下のようになりました。
['a', 'a']
ディクショナリ型もイテラブルなのでカッコが外されてしまったのではないかと考えられるのですが、
どのようにすれば私が欲しいような結果が得られますか。
分かる方がいれば回答よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/21 05:32
2019/02/21 05:39 編集
2019/02/21 06:13