字典算法实现及操作 --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爬虫入门教程之点点美女图片爬虫代码分享
Sep 02 Python
Python实现的使用telnet登陆聊天室实例
Jun 17 Python
利用python编写一个图片主色转换的脚本
Dec 07 Python
tensorflow训练中出现nan问题的解决
Feb 10 Python
python实现简单遗传算法
Mar 19 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
Oct 23 Python
Python开发网站目录扫描器的实现
Feb 21 Python
Python 私有属性和私有方法应用场景分析
Jun 19 Python
Python如何将装饰器定义为类
Jul 30 Python
python 爬取小说并下载的示例
Dec 07 Python
使用pandas生成/读取csv文件的方法实例
Jul 09 Python
Python加密与解密模块hashlib与hmac
Jun 05 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
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
文字不间断滚动(上下左右)实例代码
2013/04/21 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
Javascript仿PHP $_GET获取URL中的参数
2014/05/12 Javascript
Javascript中的高阶函数介绍
2015/03/15 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
JavaScript代码实现图片循环滚动效果
2020/03/19 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
微信小程序实现锚点跳转
2020/11/23 Javascript
使用js原生实现年份轮播选择效果实例
2021/01/12 Javascript
Python学习笔记之os模块使用总结
2014/11/03 Python
pycharm远程linux开发和调试代码的方法
2018/07/17 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
python创建文件时去掉非法字符的方法
2018/10/31 Python
python实现贪吃蛇游戏
2020/03/21 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
如何在python中写hive脚本
2019/11/08 Python
python实现删除列表中某个元素的3种方法
2020/01/15 Python
HTML5 WebSocket实现点对点聊天的示例代码
2018/01/31 HTML / CSS
激情洋溢的毕业生就业求职信
2014/03/15 职场文书
文明倡议书范文
2014/04/15 职场文书
关于环保的建议书
2014/05/12 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
二年级数学教学反思
2016/02/16 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
Python离线安装openpyxl模块的步骤
2021/03/30 Python