Python 字典型列表值整体替换

    科技2022-07-13  129

    在项目过程中经常出现这样的一种需求,一个字典型列表对象中,某个值需要整体替换为另外一个值。这种需求用循环可以实现,但是比较麻烦。一种典型的场景就是django进行查询后,在查询到不存在的多对多值时,会出现很多None,传给前端后就全部变成null。显示在前端特别难看。如果后端处理的话,会多出很多代码。

    利用xToolkit库可以很简单的搞定这个问题

    1.安装方法:
    pip install xToolkit -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

    xToolkit库是我自己封装的python内置库的一个扩展库.把python的datetime,string,list,dist,xthread等数据结构进行了功能的扩展。里面好用的功能比较多,可以前往 https://blog.csdn.net/qq_22409661/article/details/108531485 查看具体用法。

    2.导入方法:
    from xToolkit import xstring, xdatetime, xthreading, xlise, xfile
    3.使用方法比较简单,一行代码即可搞定
    # 1.字典型列表的值整体替换 # 2.要求传入参数格式为 [{"id": None, "name": "wuhan"}, {"id": 5, "name": "中国"}, {"id": 25, "name": "上号"}, {"id": 5, "name": "测试"}] # 3.这种形状的参数即可,比如可以传入 django 的 QuerySet 等 # 4.参数: # 1.需要替换的对象 # 2.kwargs["rules"] 要求元祖,比如 ((None, ''), (45, 47))) value = [{"id": None, "name": "wuhan"}, {"id": 5, "name": "中国"}, {"id": 25, "name": "上号"}, {"id": 5, "name": "测试"}] xlise.basics(value).dict_to_value(rules=((None, ''), ("中国", "china"))) >>[{'id': '', 'name': 'wuhan'}, {'id': 5.0, 'name': 'china'}, {'id': 25.0, 'name': '上号'}, {'id': 5.0, 'name': '测试'}]
    Processed: 0.009, SQL: 8