字典算法实现及操作 --python(实用)


Posted in Python onMarch 31, 2021

字典算法实现 --python

我在做项目的处理工作时,因为项目数据的需要,我想对字典的每一个最底层的值进行操作,得到所有底层值得路径和值并输出,于是就写了这个算法。

代码及功能:

def print_k(area, i=0, a='', key=''):
    if key != '':
        a = a + key + ','
    for k in area:
        if isinstance(area[k], dict):
            print_k(area[k], i+1, a=a, key=k)
        else:
            for j in (a + k).split(','):
                print(j, end='--',)
            print('-------', area[k])

这个是一个嵌套函数,我们传入一个字典,它会遍历输出所有的底层值
比如我们先读取一个json文件,并且转换为dict,然后传入这个函数。
字典算法实现及操作 --python(实用)
读取文件 & 打印

import json
f1 = open('json_data/empty1.json')
file = json.load(f1)
print_k(file)

字典算法实现及操作 --python(实用)

格外操作:

我们可以通过修改print()函数得输出流,将输出结果写到文件里边,下面来示例一下。
print函数有个参数为file ,通过修改它就可以实现上功能

def print_k(area, i=0, a='', key=''):
    if key != '':
        a = a + key + ','
    for k in area:
        if isinstance(area[k], dict):
            print_k(area[k], i+1, a=a, key=k)
        else:
            for j in (a + k).split(','):
                print(j, end='--', file=f)
            print('-------', area[k], file=f)
dicts = {"a": "1层1", 'j': {"a": "2层1", "b": "2层2"}, "b": "一层2", "g": "一层3", "o": "一层4",
             '1': {"a": "二层", "b": "2c", "g": "2c"}}
    with open('Txt/test3.txt', 'w') as f:
        print_k(dicts)

可以看到我们进行了输出重定向。我们看到test3.txt本来是空的
字典算法实现及操作 --python(实用)
在运行了代码之后
字典算法实现及操作 --python(实用)
字典的值和路劲被逐行写进来了,规则还可以自己修改,非常方便。

希望大家多多交流,共同进步!

Python 相关文章推荐
python批量修改文件名的实现代码
Sep 01 Python
Python全局变量用法实例分析
Jul 19 Python
python利用Guetzli批量压缩图片
Mar 23 Python
python 内置函数filter
Jun 01 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
python 将有序数组转换为二叉树的方法
Mar 26 Python
关于ResNeXt网络的pytorch实现
Jan 14 Python
Python hashlib模块的使用示例
Oct 09 Python
python mock测试的示例
Oct 19 Python
python实现自动清理文件夹旧文件
May 10 Python
Python OpenGL基本配置方式
May 20 Python
Python代码实现双链表
May 25 Python
如何利用python和DOS获取wifi密码
python爬虫selenium模块详解
Mar 30 #Python
python将图片转为矢量图的方法步骤
Mar 30 #Python
一文搞懂如何实现Go 超时控制
golang中的空接口使用详解
Mar 30 #Python
在 Golang 中实现 Cache::remember 方法详解
Mar 30 #Python
Python离线安装openpyxl模块的步骤
You might like
使用ThinkPHP+Uploadify实现图片上传功能
2014/06/26 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
聊聊 PHP 8 新特性 Attributes
2020/08/19 PHP
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
简述Angular 5 快速入门
2017/11/04 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
JavaScript展开操作符(Spread operator)详解
2019/07/20 Javascript
Weex开发之地图篇的具体使用
2019/10/16 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
Vue学习之常用指令实例详解
2020/01/06 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
[50:27]OG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/30 DOTA
python 使用pandas计算累积求和的方法
2019/02/08 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
python实现简易学生信息管理系统
2020/04/05 Python
Django多数据库配置及逆向生成model教程
2020/03/28 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
python 如何读、写、解析CSV文件
2021/03/03 Python
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
使用Html5中的cavas画一面国旗
2019/09/25 HTML / CSS
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
文明村创建实施方案
2014/03/27 职场文书
单位委托书范本
2014/04/04 职场文书
团结就是力量演讲稿
2014/05/21 职场文书
就业协议书
2014/09/12 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
工程质量保证书
2015/05/09 职场文书
红楼梦读书笔记
2015/06/25 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
标准发言稿结尾
2019/07/18 职场文书
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL