问题:有如下字符串,如何快速把它转成list?
str1 = '[{"name":"xiaoxiao", "age": 18}, {"name":"dada","age":20}]'
解决这个问题,一般的方法,需要通过spilt()方法自己去按照list的规则,进行截取拼装,但python提供了一个内置函数,可以快速达成这个效果。
代码如下:
str1 = '[{"name":"xiaoxiao", "age": 18}, {"name":"dada","age":20}]' print(str1) print(type(str1)) print("-" * 50) list1 = eval(str1) print(list1) print(type(list1))
返回结果:
[{"name":"xiaoxiao", "age": 18}, {"name":"dada","age":20}]
<class 'str'>
--------------------------------------------------
[{'name': 'xiaoxiao', 'age': 18}, {'name': 'dada', 'age': 20}]
<class 'list'>
eval()函数功能:将字符串str当成有效的表达式来求值并返回计算结果。
eval()函数可以实现list、dict、tuple与str之间的转化。