スクラッピココ:
私は辞書を持って、キーのは、以下のとおりです。
{'A', 'B', 'C', 'D'}
リスト値のいくつかの例:
1- [(33.0, 134), (54.0, 113), (21.0, 120)]
2- [(25.0, 153)]
3- [()]
私は順番に辞書のキーにリスト値を適用したいです。予想される出力、1-ケースになります。
{'A' : 33.0,
'B' : 134,
'C' : 54.0,
'D' : 113}
2-場合:
{'A' : 25.0,
'B' : 153,
'C' : NaN,
'D' : NaN}
の3-場合:
{'A' : NaN,
'B' : NaN,
'C' : NaN,
'D' : NaN}
これどうやってするの?
CDJB:
代替-辞書読解など'NaN'
のためにnp.nan
それはあなたが後にしている価値だ場合。
>>> keys = ['A', 'B', 'C', 'D']
>>> l = [(33.0, 134), (54.0, 113), (21.0, 120)]
>>> dict(zip(keys,([x for sl in l for x in sl]+['NaN']*len(keys))[:len(keys)]))
{'A': 33.0, 'B': 134, 'C': 54.0, 'D': 113}
>>> l = [(25.0, 153)]
>>> dict(zip(keys,([x for sl in l for x in sl]+['NaN']*len(keys))[:len(keys)]))
{'A': 25.0, 'B': 153, 'C': 'NaN', 'D': 'NaN'}
>>> l = [(,)]
>>> dict(zip(keys,([x for sl in l for x in sl]+['NaN']*len(keys))[:len(keys)]))
{'A': 'NaN', 'B': 'NaN', 'C': 'NaN', 'D': 'NaN'}
説明:
私たちは、使用zip()
サイズのキーのリストを圧縮するためn
のリスト追加、タプルの平坦化リストでn
'NaN'
最後に値をした後、最初のオフチョッピングn
値を。dict()
コンストラクタは、引数としてzip形式のリストを受け付けます。