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


前言:对于刚接触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)

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


学习,重在积累,加油!

  • 11
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等待着冬天的风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值