字典算法实现及操作 --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文件操作类操作实例详解
Jul 11 Python
django模型中的字段和model名显示为中文小技巧分享
Nov 18 Python
Python多线程编程简单介绍
Apr 13 Python
Python实现登录接口的示例代码
Jul 21 Python
Python实现简单的语音识别系统
Dec 13 Python
Python之多线程爬虫抓取网页图片的示例代码
Jan 10 Python
Python将文本去空格并保存到txt文件中的实例
Jul 24 Python
便捷提取python导入包的属性方法
Oct 15 Python
python属于跨平台语言码
Jun 09 Python
Django QuerySet查询集原理及代码实例
Jun 13 Python
使用pandas实现筛选出指定列值所对应的行
Dec 13 Python
Python+Matplotlib+LaTeX玩转数学公式
Feb 24 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
一些星际专用术语解释
2020/03/04 星际争霸
星际争霸任务指南——神族
2020/03/04 星际争霸
用PHP和ACCESS写聊天室(六)
2006/10/09 PHP
PHP中一个控制字符串输出的函数
2006/10/09 PHP
php框架Phpbean说明
2008/01/10 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
2015/04/15 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
2016/02/03 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
JQuery+DIV自定义滚动条样式的具体实现
2013/06/25 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
jquery foreach使用示例
2013/09/12 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
微信小程序 出现错误:{"baseresponse":{"errcode":-80002,"errmsg":""}}解决办法
2017/02/23 Javascript
vue移动端轻量级的轮播组件实现代码
2018/07/12 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
javascript实现时间日期的格式化的方法汇总
2020/08/06 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
python接口自动化之ConfigParser配置文件的使用详解
2020/08/03 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
详解使用HTML5的classList属性操作CSS类
2017/10/13 HTML / CSS
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
Laravel中Kafka的使用详解
2021/03/24 PHP
妇女儿童发展规划实施方案
2014/03/16 职场文书
2019年大学推荐信
2019/06/24 职场文书
90行Python代码开发个人云盘应用
2021/04/20 Python
浅谈Python协程asyncio
2021/06/20 Python
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python