字典算法实现及操作 --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
Sep 25 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
May 25 Python
使用python实现tcp自动重连
Jul 02 Python
python实现八大排序算法(1)
Sep 14 Python
对pandas里的loc并列条件索引的实例讲解
Nov 15 Python
Python版名片管理系统
Nov 30 Python
解决python线程卡死的问题
Feb 18 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
Apr 06 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
May 21 Python
python求最大值,不使用内置函数的实现方法
Jul 09 Python
Django def clean()函数对表单中的数据进行验证操作
Jul 09 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
Aug 11 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懒人函数 自动添加数据
2011/06/28 PHP
php中根据变量的类型 选择echo或dump
2012/07/05 PHP
PHP分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
Destoon实现多表查询示例
2014/08/21 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
2015/12/31 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
js文件中调用js的实现方法小结
2009/10/23 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
jquery实现div阴影效果示例代码
2013/09/16 Javascript
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
2013/10/11 Javascript
VUEJS实战之修复错误并且美化时间(2)
2016/06/13 Javascript
Web前端框架bootstrap实战【第一次接触使用】
2016/12/28 Javascript
Vue实现virtual-dom的原理简析
2017/07/10 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
ES6 对象的新功能与解构赋值介绍
2019/02/05 Javascript
Vue中的情侣属性$dispatch和$broadcast详解
2019/03/07 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
轻松解决JavaScript定时器越走越快的问题
2019/05/13 Javascript
jquery实现二级导航下拉菜单效果实例
2019/05/14 jQuery
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
浅谈vue项目用到的mock数据接口的两种方式
2019/10/09 Javascript
基于windows下pip安装python模块时报错总结
2018/06/12 Python
如何在 Django 模板中输出 "{{"
2020/01/24 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
初中学校军训方案
2014/05/09 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
2015年法律事务部工作总结
2015/07/27 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript
nginx搭建NFS网络文件系统
2022/04/14 Servers