字典算法实现及操作 --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实现两个list对应元素相减操作示例
Jun 09 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
Nov 23 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
Python使用三种方法实现PCA算法
Dec 12 Python
python中的字典操作及字典函数
Jan 03 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
Dec 12 Python
python进阶之自定义可迭代的类
Aug 20 Python
使用pyinstaller逆向.pyc文件
Dec 20 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
Jan 04 Python
Python函数默认参数常见问题及解决方案
Mar 26 Python
如何在VSCode下使用Jupyter的教程详解
Jul 13 Python
浅析python实现动态规划背包问题
Dec 31 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
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
2012/08/21 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
Javascript 构造函数 实例分析
2008/11/26 Javascript
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
JavaScript中的anchor()方法使用详解
2015/06/08 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
2017/07/11 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
解决koa2 ctx.render is not a function报错问题
2018/08/07 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
JavaScript中的"=、==、==="区别讲解
2019/01/22 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
2019/05/03 Javascript
vue之debounce属性被移除及处理详解
2019/11/13 Javascript
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
Python读取本地文件并解析网页元素的方法
2018/05/21 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
如何用Lucene索引数据库
2016/02/23 面试题
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
大四学生毕业自荐信
2013/11/07 职场文书
会计专业自荐信
2013/12/02 职场文书
平面设计岗位职责
2013/12/14 职场文书
业务内勤岗位职责
2014/04/30 职场文书
小学生交通安全寄语
2015/02/27 职场文书
教师工作态度自我评价
2015/03/05 职场文书
2015学生会文艺部工作总结
2015/04/03 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
Win10系统下配置Java环境变量
2021/06/13 Java/Android