字典算法实现及操作 --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之hello world
May 21 Python
Python实现高效求解素数代码实例
Jun 30 Python
python中利用队列asyncio.Queue进行通讯详解
Sep 10 Python
Pipenv一键搭建python虚拟环境的方法
May 22 Python
pygame游戏之旅 如何制作游戏障碍
Nov 20 Python
详解用Python练习画个美队盾牌
Mar 23 Python
Windows系统Python直接调用C++ DLL的方法
Aug 01 Python
python 视频逐帧保存为图片的完整实例
Dec 10 Python
Python hashlib加密模块常用方法解析
Dec 18 Python
jupyter notebook tensorflow打印device信息实例
Apr 20 Python
将pycharm配置为matlab或者spyder的用法说明
Jun 08 Python
Python Django路径配置实现过程解析
Nov 05 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
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
ThinkPHP表单自动验证实例
2014/10/13 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
深入讲解PHP的对象注入(Object Injection)
2017/03/01 PHP
JS JavaScript获取Url参数,src属性参数
2021/03/09 Javascript
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
2016/10/26 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
vue+mockjs模拟数据实现前后端分离开发的实例代码
2017/08/08 Javascript
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
2018/08/20 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
js中arguments对象的深入理解
2019/05/14 Javascript
[38:54]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第一场 11.28
2020/12/01 DOTA
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
python生成指定尺寸缩略图的示例
2014/05/07 Python
python Django模板的使用方法
2016/01/14 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
学习python的前途 python挣钱
2019/02/27 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
实例教程 纯CSS3打造非常炫的加载动画效果
2014/11/05 HTML / CSS
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
自我鉴定模板
2013/10/29 职场文书
经贸日语专业个人求职信
2013/12/13 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
2014年社区卫生工作总结
2014/12/18 职场文书
2015年安全生产月活动总结
2015/03/26 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
七年级作文之冬景
2019/11/07 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript