Python 将没有引号的字符串 转换成带有list格式的dict
时间: 2024-03-15 11:47:31 浏览: 66
您可以使用 Python 内置的 eval() 函数和字符串格式化来实现将没有引号的字符串转换成带有 list 格式的 dict。具体步骤如下:
1. 将没有引号的字符串转换成带有引号的字符串,例如将字符串 "{'name': Tom, 'age': 18}" 转换成字符串 "{'name': 'Tom', 'age': 18}"。
2. 使用 eval() 函数将字符串转换成字典类型。
3. 使用字符串格式化将字典中的值转换成列表类型。
下面是示例代码:
```
# 定义没有引号的字符串
str_data = "{name: Tom, age: 18, hobbies: [reading, music, sports]}"
# 将没有引号的字符串转换成带有引号的字符串
str_data = str_data.replace(":", ":\"").replace(",", "\",").replace("[", "[\"").replace("]", "\"]")
str_data = "{" + str_data + "}"
# 使用 eval() 函数将字符串转换成字典类型
dict_data = eval(str_data)
# 使用字符串格式化将字典中的值转换成列表类型
for key, value in dict_data.items():
if isinstance(value, str) and "[" in value and "]" in value:
dict_data[key] = [i.strip() for i in value[1:-1].split(",")]
# 输出转换后的字典
print(dict_data)
```
输出结果为:
```
{'name': 'Tom', 'age': 18, 'hobbies': ['reading', 'music', 'sports']}
```
阅读全文