字典算法实现及操作 --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的加密模块md5、sha、crypt使用实例
Sep 28 Python
在Python的Flask框架中使用模版的入门教程
Apr 20 Python
Python字符串格式化输出方法分析
Apr 13 Python
Python线程指南详细介绍
Jan 05 Python
OpenCV实现人脸识别
Apr 07 Python
wxPython实现窗口用图片做背景
Apr 25 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
Jun 09 Python
python函数修饰符@的使用方法解析
Sep 02 Python
Transpose 数组行列转置的限制方式
Feb 11 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
Mar 06 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
Mar 18 Python
Django分页器的用法你都了解吗
May 26 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
FCKeditor添加自定义按钮
2008/03/27 PHP
php快递单号查询接口使用示例
2014/05/05 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
php实现指定字符串中查找子字符串的方法
2015/03/17 PHP
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
JavaScript isPrototypeOf和hasOwnProperty使用区别
2010/03/04 Javascript
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
javascript学习笔记(十四) window对象使用介绍
2012/06/20 Javascript
js复制网页内容并兼容各主流浏览器的代码
2013/12/17 Javascript
angularJs关于指令的一些冷门属性详解
2016/10/24 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
2017/09/07 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
利用es6 new.target来对模拟抽象类的方法
2019/05/10 Javascript
详解Python中dict与set的使用
2015/08/10 Python
Python科学计算之Pandas详解
2017/01/15 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
对python中raw_input()和input()的用法详解
2018/04/22 Python
pyside+pyqt实现鼠标右键菜单功能
2020/12/08 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
python脚本定时发送邮件
2020/12/22 Python
Staples加拿大官方网站:办公用品一站式采购
2016/09/25 全球购物
日本非常有名的内衣丝袜品牌:GUNZE
2017/01/06 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
酒店管理毕业生自荐信
2013/10/24 职场文书
2014年女职工工作总结
2014/11/27 职场文书
中国合伙人观后感
2015/06/02 职场文书
试用1103暨1103、1101同门大比武 [ DAIWEI ]
2022/04/05 无线电