是否存在将包含字符串的python字典转换为包含相应整数数组的python字典的方法
Dictionary with String Arrays:
{1: '[8, 9, 10, 11, 12, 13, 14, 15, 16]',
2: '[17, 18, 19, 20, 21, 22, 23]',
3: '[1, 2, 3, 4, 5, 6, 7]',
4: '[24, 25, 26]'}
用对应的整数数组转换成字典:
{1: [8, 9, 10, 11, 12, 13, 14, 15, 16],
2: [17, 18, 19, 20, 21, 22, 23],
3: [1, 2, 3, 4, 5, 6, 7],
4: [24, 25, 26]}
使用ast.literal_eval
,我们可以遍历字典并';cast ';将字符串转换成它们的字面量:
>>> import ast
>>> x = {1: '[8, 9, 10, 11, 12, 13, 14, 15, 16]',
... 2: '[17, 18, 19, 20, 21, 22, 23]',
... 3: '[1, 2, 3, 4, 5, 6, 7]',
... 4: '[24, 25, 26]'}
>>>
>>> {k: ast.literal_eval(v) for k,v in x.items()}
{1: [8, 9, 10, 11, 12, 13, 14, 15, 16], 2: [17, 18, 19, 20, 21, 22, 23], 3: [1, 2, 3, 4, 5, 6, 7], 4: [24, 25, 26]}