这不是列表,是个字符串
result=eval("{"+result+"}")这样试试
看着不像是列表的格式哦,列表格式的数据里面哪有'key':'value'这种格式的数据。给全数据看看呢,如果输出的是字符串,可以使用反序列化对字符串做处理。
import json
json.loads() # 使用此方法将字符串类型数据转为字典,列表类型数据。
# 示例:
arr = '{"唐":["李白","杜甫","白居易"],"宋":["辛弃疾","李清照","王安石"],"明":{"医学家":"李时珍","文学家":"吴承恩"}}'
arr_dict = json.loads(arr)
print(type(arr_dict),arr_dict)
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
我可以解决问题:
将一个列表转化成字典格式可以使用Python中的字典推导式,具体操作如下:
假设现在有一个列表a=[1,2,3],每个元素需要转化为字典形式,可以使用以下代码:
result={i:{'value':a[i]} for i in range(len(a))}
print(result)
其中,i代表该元素在列表中的位置,'value'是字典中的一个键,a[i]是该键对应的值。代码输出结果为:
{0: {'value': 1}, 1: {'value': 2}, 2: {'value': 3}}
相应地,对于列表中每个元素包含多个键值对的情况,可以使用如下代码实现(以一个示例列表b为例):
b=[{'name':'John','age':30},{'name':'Tom','age':25},{'name':'Lucy','age':28}]
result={i:b[i] for i in range(len(b))}
print(result)
这个代码根据列表b的长度创建了相应数量的字典,把每一个元素作为一个字典存储到result中。代码输出结果为:
{0: {'age': 30, 'name': 'John'}, 1: {'age': 25, 'name': 'Tom'}, 2: {'age': 28, 'name': 'Lucy'}}
综上所述,可以通过Python中的字典推导式来将一个列表转化成字典格式,根据列表中每个元素的不同形式,灵活使用该方法中的语法即可。