【问题标题】:How can I remove None value from python dictionary?如何从 python 字典中删除 None 值?
【发布时间】:2021-02-13 06:59:06
【问题描述】:

我有这样的python字典

data_dict = {'col_1': [{'size': 3}, {'classes': 'my-3 text-light text-center bg-primary'}, {'styles': [{'font-size': '14px'}]}]}

使用jmespath库,我试图达到这样的字典所需的结果

{'size':3, 'classes':'my-3 text-light text-center bg-primary', 'styles':[{'font-size': '14px'}]}

根据 jmespath 文档MultiSelect,我最终是这样的:

jmespath.search('*[].{size:size, class:classes, styles:styles}', data_dict)

结果,我得到了不必要的 None 值字典的键/值对

[{'size': 3, 'class': None, 'styles': None}, {'size': None, 'class': 'my-3 text-light text-center bg-primary', 'styles': None}, {'size': None, 'class': None, 'styles': [{'font-size': '14px'}]}]

我的问题是如何删除键/值 None 以获得我想要的结果?谢谢。

【问题讨论】:

标签: python jmespath


【解决方案1】:
NewDictList = []
res = [{'size': 3, 'class': None, 'styles': None}, {'size': None, 'class': 'my-3 text-light text-center bg-primary', 'styles': None}, {'size': None, 'class': None, 'styles': [{'font-size': '14px'}]}]
for dict_values in res:
    result = {key: value for key, value in dict_values.items() if value is not None}
    NewDictList.append(result)
print(NewDictList)
#result is [{'size': 3}, {'class': 'my-3 text-light text-center bg-primary'}, {'styles': [{'font-size': '14px'}]}]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 2022-10-25
    • 1970-01-01
    • 2012-07-01
    • 2013-02-19
    相关资源
    最近更新 更多