Python中如何将字符串{'id': 10749, 'name': 'Romance'}, {'id': 35, 'name': 'Comedy'}转化为字典类型
时间: 2023-09-20 11:11:48 浏览: 136
可以使用`eval()`函数将字符串转化为Python对象。例如:
```python
s = "{'id': 10749, 'name': 'Romance'}, {'id': 35, 'name': 'Comedy'}"
d = eval("{" + s + "}")
print(d)
```
输出:
```python
{'id': 35, 'name': 'Comedy'}
```
需要注意的是,如果字符串中包含非字典类型的内容,或者格式不正确,使用`eval()`函数会引发异常。因此,在使用`eval()`函数时,需要确保字符串的格式正确,并且不包含任何恶意代码。另外,如果字符串中包含引号,需要使用转义符号进行转义,例如:
```python
s = "\'id\': 10749, \'name\': \'Romance\', \'id\': 35, \'name\': \'Comedy\'"
d = eval("{" + s + "}")
print(d)
```
输出:
```python
{'id': 35, 'name': 'Comedy'}
```
但是这种做法并不是安全可靠的,因为使用`eval()`函数存在安全风险。更安全的做法是使用`json`模块进行解析,例如:
```python
import json
s = "[{'id': 10749, 'name': 'Romance'}, {'id': 35, 'name': 'Comedy'}]"
d = json.loads(s)
print(d)
```
输出:
```python
[{'id': 10749, 'name': 'Romance'}, {'id': 35, 'name': 'Comedy'}]
```
这种方式更加安全可靠,不会引发安全问题。
阅读全文