字典算法实现及操作 --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实现哈希表
Feb 07 Python
基于Python实现的扫雷游戏实例代码
Aug 01 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
Jun 02 Python
python3之模块psutil系统性能信息使用
May 30 Python
使用python对文件中的单词进行提取的方法示例
Dec 21 Python
Tensorflow读取并输出已保存模型的权重数值方式
Jan 04 Python
Django ORM实现按天获取数据去重求和例子
May 18 Python
PyTorch如何搭建一个简单的网络
Aug 24 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
Dec 22 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
Mar 03 Python
对Pytorch 中的contiguous理解说明
Mar 03 Python
Python中Matplotlib的点、线形状、颜色以及绘制散点图
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读取文件内容的几种方法详解
2013/06/26 PHP
PHP开发注意事项总结
2015/02/04 PHP
php处理复杂xml数据示例
2016/07/11 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
早该知道的7个JavaScript技巧
2013/03/27 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
jQuery+easyui中的combobox实现下拉框特效
2015/02/27 Javascript
浅谈js数据类型判断与数组判断
2016/08/29 Javascript
jQuery使用DataTable实现删除数据后重新加载功能
2017/02/27 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
JavaScript实现世界各地时间显示
2020/09/07 Javascript
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
对python的输出和输出格式详解
2018/12/08 Python
Python实现非正太分布的异常值检测方式
2019/12/09 Python
基于Tensorflow批量数据的输入实现方式
2020/02/05 Python
python实现超级玛丽游戏
2020/03/18 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
2020/06/15 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
2020/11/06 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
英国天然抗衰老护肤品品牌:Nakin Skin Care
2019/04/16 全球购物
C语言笔试集
2012/07/24 面试题
2015年班长个人工作总结
2015/04/03 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
python实现A*寻路算法
2021/06/13 Python
Java实现多文件上传功能
2021/06/30 Java/Android
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server