字典算法实现及操作 --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首次安装后运行报错(0xc000007b)的解决方法
Oct 18 Python
Python验证文件是否可读写代码分享
Dec 11 Python
python使用sqlite3时游标使用方法
Mar 13 Python
PyCharm设置护眼背景色的方法
Oct 29 Python
python脚本之一键移动自定格式文件方法实例
Sep 02 Python
Python使用APScheduler实现定时任务过程解析
Sep 11 Python
Python测试Kafka集群(pykafka)实例
Dec 23 Python
详解Python的三种拷贝方式
Feb 11 Python
pycharm第三方库安装失败的问题及解决经验分享
May 09 Python
Python使用sys.exc_info()方法获取异常信息
Jul 23 Python
如何在Win10系统使用Python3连接Hive
Oct 15 Python
python requests模块的使用示例
Apr 07 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 处理上百万条的数据库如何提高处理查询速度
2010/02/08 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
php 运算符与表达式详细介绍
2016/11/30 PHP
PHP绕过open_basedir限制操作文件的方法
2018/06/10 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
Javascript 类型转换方法
2010/10/24 Javascript
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
jQuery 自定义函数写法分享
2012/03/30 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
基于jQuery的ajax方法封装
2016/07/14 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
node后端服务保活的实现
2019/11/10 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
python编程开发之类型转换convert实例分析
2015/11/13 Python
Python实现堆排序的方法详解
2016/05/03 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
DTD的含义以及作用
2014/01/26 面试题
个人求职信范文分享
2014/01/06 职场文书
员工评语大全
2014/01/19 职场文书
实验室的标语
2014/06/20 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
python的变量和简单数字类型详解
2021/09/15 Python
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers
解决 redis 无法远程连接
2022/05/15 Redis