Python基础:列表、字典、json之间的相互转换

2023-10-27


前言:对于刚接触Python的新鸟来说,数据之间的转换特别蛋疼,今天我就来说一下,列表、字典、json之间的转换,也就是说集合转换成json,json转换成集合,以及列表和字典之间的关系。


1.列表、字典、json的形式

2.列表中添加字典

上面简单的介绍了列表和字典的形式,当然我们在实际开发中,数据可能比这要复杂的多。

  • 列表包含字典:仔细分析上面的例子,我们可以发现name_list里面存的是name(也就是字符串),看下面的person_dict。所以我们可以写成列表包含字典这种形式,丰富我们的数据。

代码:

#声明一个空的列表
person_list = []

# 声明字典
person_dict1 = {"name": "fly1","age": 16}
person_dict2 = {"name": "fly2","age": 17}
person_dict3 = {"name": "fly3","age": 18}
person_dict4 = {"name": "fly4","age": 19}
person_dict5 = {"name": "fly5","age": 20}

# 把字典添加到列表集合中去
person_list.append(person_dict1)
person_list.append(person_dict2)
person_list.append(person_dict3)
person_list.append(person_dict4)
person_list.append(person_dict5)

print(type(person_list))
print(person_list)

# 遍历 列表里面的字典
for person_dict in person_list:
    print(person_dict)

# 遍历 列表里面的字典中的一个属性
for person_dict in person_list:
    print(person_dict["name"])

输出结果:
在这里插入图片描述
这个代码写的有点傻,我们可以利用for循环把字典添加到列表集合中去。
改进代码:

#声明一个空的列表
person_list = []

for i in range(10):
    # 声明字典
    person_dict = {"name": "fly"+str(i), "age": "1"+str(i)}
    # 把字典添加到列表集合中去
    person_list.append(person_dict)

print(type(person_list))
print(person_list)

# 遍历 列表里面的字典
for person_dict in person_list:
    print(person_dict)

# 遍历 列表里面的字典中的一个属性
for person_dict in person_list:
    print(person_dict["name"])

输出结果:
在这里插入图片描述

3.字典中添加列表

通过上面的例子,理解了列表集合中添加字典的用法,当然我们也可以在字典中添加列表。
代码:

#声明一个空的列表
person_list = []

program_list = ["Python","Java","C","数据结构"]

for i in range(6):
    # 声明字典 增加列表属性
    person_dict = {"name": "fly"+str(i), "age": "1"+str(i),"program_list":program_list}
    # 把字典添加到列表集合中去
    person_list.append(person_dict)


print(type(person_list))
print(person_list)
print("*"*100)

# 遍历 列表里面的字典
for person_dict in person_list:
    print(person_dict)
print("*" * 100)

# 遍历 列表里面的字典中的一个属性
for person_dict in person_list:
    print(person_dict["program_list"])
print("*"*100)

# 遍历 列表里面的字典中的列表中的第二个数据
for person_dict in person_list:
    print(person_dict["program_list"][1])
print("*"*100)

输出结果:
在这里插入图片描述

4.列表&字典与json的转换

  • list转换成json:str_json = json.dumps(list, ensure_ascii=False, indent=2)
  • json转换成list:list = json.loads(str_json)

代码:

import json

"""
list转换成json
"""
def list_tran_json(list):
    str_json = json.dumps(list, ensure_ascii=False, indent=2)
    return str_json

"""
json转换成list
"""
def json_tran_list(str_json):
    list = json.loads(str_json)
    return list

#声明一个空的列表
person_list = []

program_list = ["Python","Java","C","数据结构"]

for i in range(6):
    # 声明字典 增加列表属性
    person_dict = {"name": "fly"+str(i), "age": "1"+str(i),"program_list":program_list}
    # 把字典添加到列表集合中去
    person_list.append(person_dict)

print(type(person_list))
print(person_list)
print("*"*100)

str_json = list_tran_json(person_list)
print(type(str_json))
print(str_json)
print("*"*100)

list = json_tran_list(str_json)
print(type(list))
print(list)

输出:
在这里插入图片描述


学习,重在积累,加油!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python基础:列表、字典、json之间的相互转换 的相关文章

随机推荐

  • Direct3D VertexBuffer Lock() and Unlock() function

    Stack Overflow is a question and answer site for professional and enthusiast programmers It s 100 free no registration r
  • maven 环境变量的配置

    一 安装解压缩 二 配置环境变量 1 打开环境变量配置 我的电脑 右键属性 高级系统设置 高级 环境变量 系统变量 2 配置MAVEN HOME 在系统变量中 新建 变量名 MAVEN HOME 变量值 maven文件夹路径 解压缩的路径
  • C++ 继承:父子类赋值转换、菱形继承、虚继承、继承与组合

    文章目录 1 继承的概念 2 继承方式 3 基类与派生类的赋值转换 4 作用域与隐藏 5 派生类的默认成员函数 6 友元 静态成员 7 菱形继承与虚继承 8 继承和组合 1 继承的概念 继承 是面向对象的三大特性之一 继承可以理解成是类级别
  • UE4 缓存过大的问题

    删除 C Users vive AppData Local UnrealEngine Common DerivedDataCache 新建 G DerivedDataCache 运行 bat mklink D C Users vive Ap
  • Android移动开发-蓝牙(BlueTooth)设备检测连接的实现

    无论是WIFI还是4G网络 建立网络连接后都是访问互联网资源 并不能直接访问局域网资源 比如两个人在一起 A要把手机上的视频传给B 通常情况是打开手机QQ 通过QQ传送文件给对方 不过上传视频很耗流量 如果现场没有可用的WIFI 手机的数据
  • 千图app官网下载

    千图app官网下载 http qiantuapp com
  • 计算机图形学学习笔记(一):坐标表示

    几种不同的笛卡尔坐标系 建模坐标系 在各自的参照系中构造每一对象的形状 比如树或家具 这些坐标系称为建模坐标系 modeling coordinate 或局部坐标系 local coordinate 或主坐标系 master coordin
  • 搭建家庭影音媒体中心 --公网远程连接Jellyfin流媒体服务器

    文章目录 前言 1 安装Home Assistant 2 配置Home Assistant 3 安装cpolar内网穿透 3 1 windows系统 3 2 Linux系统 3 3 macOS系统 4 映射Home Assistant端口
  • 如何把一张图片做成一个好看的电脑图标

    话不多说直奔主题 第一步 首先注意一下自己的桌面也就是想把什么东西的图标给换了 举个例子1 假如我们想换WPS图标 这时可以直接右击鼠标 gt 属性 gt 更换图标 然后找到目的图标位置更换就行了 2 假如我们想把一个 vbs程序的图标换了
  • 91.2%准确率!ViTAEv2:视觉Transformer新工作!更大模型、更多任务、更高效率

    点击下方卡片 关注 CVer 公众号 AI CV重磅干货 第一时间送达 转载自 京东探索研究院 以超大规模模型和无监督预训练方法为代表的超级深度学习技术 正在深刻地影响着人工智能领域的研究进展 在机器视觉 自然语言处理 多模态分析等多个领域
  • tiledmap 图块属性_TiledMap 组件参考

    TiledMap 组件参考 TiledMap 地图 用于在游戏中显示 TMX 格式的地图 点击 属性检查器 下方的 添加组件 按钮 然后从 渲染组件 中选择 TiledMap 即可添加 TiledMap 组件到节点上 TiledMap 的脚
  • leetcode刷题记录

    文章目录 前言 一 leetcode 997 有序数组的平方 前言 提示 以下是本篇文章正文内容 下面案例可供参考 一 leetcode 997 有序数组的平方 题目描述 给你一个按 非递减顺序 排序的整数数组 nums 返回 每个数字的平
  • 阿里开源自主研发的 DFSMN 语音识别模型,引谷歌论文引用

    近日 阿里巴巴达摩院机器智能实验室语音识别团队 推出了新一代语音识别模型 DFSMN 不仅被谷歌等国外巨头在论文中重点引用 更将全球语音识别准确率纪录提高至 96 04 基于世界最大的免费语音识别数据库LibriSpeech 阿里在GitH
  • 华为OD机试 - 停车场车辆统计(Java)

    题目描述 特定大小的停车场 数组cars 表示 其中1表示有车 0表示没车 车辆大小不一 小车占一个车位 长度1 货车占两个车位 长度2 卡车占三个车位 长度3 统计停车场最少可以停多少辆车 返回具体的数目 输入描述 整型字符串数组cars
  • linux shell 编程

    转自 http blog csdn net fpmystar article details 4183678 和 http blog csdn net buutterfly article details 6615162 在进行linux测
  • 详解卡尔曼滤波原理

    详解卡尔曼滤波原理 在网上看了不少与卡尔曼滤波相关的博客 论文 要么是只谈理论 缺乏感性 或者有感性认识 缺乏理论推导 能兼顾二者的少之又少 直到我看到了国外的一篇博文 真的惊艳到我了 不得不佩服作者这种细致入微的精神 翻译过来跟大家分享一
  • 【Java核心技术 卷I】第二章 Java程序设计环境

    本章概述 2 1 安装Java开发工具包 要想下载 Java 开发1 具包 可以访问 Oracle 网站 一些专业术语 JDK JRE Java SE 下载JDK 设置JDK 具体设置JDK操作可以看这里 接下来还有安装库源文件和文档 文档
  • 网页爬虫逆向与AST入门系列教程(结语)

    网页爬虫逆向与AST入门系列教程 结语 在这一系列的教程中 我们深入探讨了网页爬虫逆向与AST的基本概念 生成方法以及其在代码混淆解析 反爬虫技术解析 数据提取与分析 安全检测以及代码转换等方面的应用 一 初识网页爬虫逆向与AST 在该教程
  • Docker学习笔记(三)

    文章目录 Docker学习笔记 三 1 布署nginx 2 Tomcat安装 3 部署ES kibana 4 可视化面板 4 1下载命令 4 2什么是portainer Docker学习笔记 三 1 布署nginx 先使用docker pu
  • Python基础:列表、字典、json之间的相互转换

    Python基础 列表 字典 json之间的相互转换 1 列表 字典 json的形式 2 列表中添加字典 3 字典中添加列表 4 列表 字典与json的转换 前言 对于刚接触Python的新鸟来说 数据之间的转换特别蛋疼 今天我就来说一下