字典算法实现及操作 --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 获取文件列表(或是目录例表)
Mar 25 Python
python创建和删除目录的方法
Apr 29 Python
python使用mailbox打印电子邮件的方法
Apr 30 Python
深入理解NumPy简明教程---数组2
Dec 17 Python
利用python将图片转换成excel文档格式
Dec 30 Python
python 日期操作类代码
May 05 Python
Python爬虫框架Scrapy常用命令总结
Jul 26 Python
python之线程通过信号pyqtSignal刷新ui的方法
Jan 11 Python
python itchat实现调用微信接口的第三方模块方法
Jun 11 Python
TensorFlow加载模型时出错的解决方式
Feb 06 Python
Python try except异常捕获机制原理解析
Apr 18 Python
使用Python实现批量ping操作方法
May 06 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
初探PHP5
2006/10/09 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
Linux下php5.4启动脚本
2014/08/03 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
javascript模拟的Ping效果代码 (Web Ping)
2011/03/13 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
全面解析bootstrap格子布局
2016/05/22 Javascript
jquery选择器中的空格与大于号>、加号+与波浪号~的区别介绍
2016/06/24 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
ES6解构赋值实例详解
2017/10/31 Javascript
通过实例解析js简易模块加载器
2019/06/17 Javascript
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
2020/01/21 Javascript
详解Python实现按任意键继续/退出的功能
2016/08/19 Python
手把手教你python实现SVM算法
2017/12/27 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
html5教程制作简单画板代码分享
2013/12/04 HTML / CSS
迷你分体式空调:SoGoodToBuy
2018/08/07 全球购物
init进程的作用
2012/04/12 面试题
暑期实习鉴定
2013/12/16 职场文书
医院办公室主任职责
2013/12/29 职场文书
前台文员个人求职信范文
2014/01/05 职场文书
服装创业计划书范文
2014/02/05 职场文书
高三学习决心书
2014/03/11 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
升国旗演讲稿
2014/09/05 职场文书
股权转让协议范本
2014/12/07 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
2016春节慰问信范文
2015/03/25 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
老人节主持词
2015/07/04 职场文书
Mysql表数据比较大情况下修改添加字段的方法实例
2022/06/28 MySQL