python列表转化字典_python的字典、列表与字符串的互相转换

要将字典或列表保存到文件的时候,我们需要现将数据类型转换成str。然后才能写入文件。这个通过str()就可以解决dic = {'name':'Bob',

'job':'engineer',

'gender':'male'}

lis = ['apple','boy','cat','dog','earth']

strdic = str(dic)

strlis = str(lis)

print(type(strdic),strdic)

print(type(strlis),strlis)

反之,需要将以字符串形式保存的字典或列表读取使用的时候,也有对应的函数eval()可以实现strdic = "{'name': 'Bob', 'job': 'engineer', 'gender': 'male'}"

strlis = "['apple', 'boy', 'cat', 'dog', 'earth']"

dic = eval(strdic)

lis = eval(strlis)

print(type(dic),dic)

print(type(lis),lis)

这里eval能够判断出你的数据类型。

实现了数据和字符串的互相转换,就可以方便的将数据保存到文件,以及从文件读取数据了。

不要使用eval

eval功能非常强大,可以执行任意代码,这样会有非常大的安全隐患。

我们需要的只是做数据类型的转换,使用ast.literal_eval来替代:import ast

strdic = "{'name': 'Bob', 'job': 'engineer', 'gender': 'male'}"

d1 = ast.literal_eval(strdic)

print(type(d1), d1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值