字典算法实现及操作 --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 相关文章推荐
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 Python
Python实现批量修改文件名实例
Jul 08 Python
django模板语法学习之include示例详解
Dec 17 Python
python实现自动登录后台管理系统
Oct 18 Python
Python嵌套式数据结构实例浅析
Mar 05 Python
从numpy数组中取出满足条件的元素示例
Nov 26 Python
在python3中实现更新界面
Feb 21 Python
python之生成多层json结构的实现
Feb 27 Python
Python3开发环境搭建详细教程
Jun 18 Python
Python爬虫抓取论坛关键字过程解析
Oct 19 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
Jan 28 Python
python利用后缀表达式实现计算器功能
Feb 22 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数组排序之sort、asort与ksort用法实例
2014/09/08 PHP
PHP实现批量生成App各种尺寸Logo
2015/03/19 PHP
php设计模式之委托模式
2016/02/13 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
JavaScript的单例模式 (singleton in Javascript)
2010/06/11 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
JavaScript地图拖动功能SpryMap的简单实现
2013/07/17 Javascript
JS实现Select的option上下移动的方法
2016/03/01 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
js实现音乐播放控制条
2017/09/09 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
如何在微信小程序中实现Mixins方案
2019/06/20 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
Python实现批量把SVG格式转成png、pdf格式的代码分享
2014/08/21 Python
Python黑魔法@property装饰器的使用技巧解析
2016/06/16 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
python排序函数sort()与sorted()的区别
2018/09/18 Python
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
python sqlite的Row对象操作示例
2019/09/11 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
Tensorflow训练模型越来越慢的2种解决方案
2020/02/07 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
Python Django搭建网站流程图解
2020/06/13 Python
css3 position fixed固定居中问题解决方案
2014/08/19 HTML / CSS
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
校园之星获奖感言
2014/01/29 职场文书
化工专业求职信
2014/07/01 职场文书
竞选班长演讲稿400字
2014/08/22 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
数学复习课教学反思
2016/02/18 职场文书
golang中的空slice案例
2021/04/27 Golang
MySQL 数据丢失排查案例
2021/05/08 MySQL
解决ubuntu安装软件时,status-code=409报错的问题
2022/12/24 Servers