辞書のリストを分割してif the value is empty
とし、リストの新しいリストを作成したいと思います。値が空であればディクショナリのリストを分割しますか?
入力:
[{'k':'a'},{'k':'b'},{'k':''},{'k':'d'},{'k':''},{'k':'f'},{'k':'g'}]
出力:
[[{'k': 'a'}, {'k': 'b'}, {'k': ''}], [{'k': 'd'}, {'k': ''}], [{'k': 'f'}, {'k': 'g'}]]
場合、その作業罰金Iは、ループを使用して試してみました。
sub_header_list = [{'k':'a'},{'k':'b'},{'k':''},{'k':'d'},{'k':''},{'k':'f'},{'k':'g'}]
index_data = [] ; data_list = []
for i in sub_header_list:
index_data.append(i)
if i['k'] == '':
data_list.append(index_data)
index_data = []
print(data_list+[index_data])
[[{'k': 'a'}, {'k': 'b'}, {'k': ''}], [{'k': 'd'}, {'k': ''}], [{'k': 'f'}, {'k': 'g'}]]
同じ目的を達成するためにはどのようなpythonic方法がありますか?つまり、組み込み関数などを使用していますか?
あなたが groupby使用することができます
元のデータはどこから来るのでしょうか? –
それ以外の場合は、forループを関数に移動する必要があります。 –
元のデータがデータフレームから来て、私は辞書を作成していますが、私は既に元のデータで回避していますが、それは役に立ちません。 –