我有這本字典:
d = {4: {0: [12], 1: [194]}, 8: {0: [222], 1: nan}, 18: {0: [60], 1: nan},
19: {0: [128], 1: nan}, 21: {0: [54], 1: nan}}
輸出應如下所示:
d = {4: {0: [12], 1: [194]}, 8: {0: [222] },
18: {0: [60] }, 19: {0: [128]}, 21: {0: [54]}}
uj5u.com熱心網友回復:
nan您可以遞回地將字典傳遞給一個函式,該函式用值過濾掉鍵。例如:
from math import nan
d = {4: {0: [12], 1: [194]}, 8: {0: [222], 1: nan}, 18: {0: [60], 1: nan},
19: {0: [128], 1: nan}, 21: {0: [54], 1: nan}}
def clean_nan(d):
if isinstance(d, dict):
return {k: clean_nan(v) for k, v in d.items() if v == v}
return d
clean_nan(d)
給出結果:
{4: {0: [12], 1: [194]},
8: {0: [222]},
18: {0: [60]},
19: {0: [128]},
21: {0: [54]}}
這假設串列不包含nan,但如果它們包含,則很容易添加另一個子句來過濾它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/417540.html
標籤:
