将类型实例转换为字典
Convert type instance to dictionary
我有一个实例是 iAMPL jupyter notebook magic 的结果。如何将其转换为 python 中的字典?
print(x)
Returns 输出如下:
{('87', '41'): 0.0, ('59', '20'): 0.0, ('32', '40'): 0.0, ('49', '2'): 0.0, ('1', '20'): 0.0, ('21', '17'): 0.0, ('92', '3'): 0.0, ('55', '30'): 0.0, ('3', '15'): 0.0, ('8', '51'): 0.0, ('24', '28'): 0.0, ('18', '44'): 0.0, ('82', '38'): 0.0, ('63', '47'): 0.0, ('102', '47'): 0.0, ('87', '11'): 0.0, ('79', '14'): 0.0, ('4', '30'): 0.0, ('63', '6'): 0.0, ('71', '10'): 0.0, ('11', '33'): 0.0, ('54', '50'): 0.0, ('25', '13'): 0.0, ('47', '24'): 0.0, ('77', '1'): 1.0, ('3', '27'): 0.0, ('73', '7'): 0.0, ('63', '17'): 0.0, ('45', '21'): 0.0, ('16', '22'): 0.0, ('23', '29'): 0.0, ('7', '1'): 0.0, ('51', '2'): 0.0, ('83', '47'): 0.0, ('65', '51'): 0.0
好的,我正在尝试一种务实的方法,因为所有寻找 this 确切类型的尝试都失败了。
打印 x
似乎以字符串形式打印一个有效的 python 字典,所以我建议(这可能不是最佳的)是使用 x 转换为 str
和把它喂给 ast.literal_eval
,像这样:
import ast
d = ast.literal_eval(str(x))
d
现在是一个有效的 python 字典:
print(d[('87','41')])
returns 0.0
也许有更优雅的解决方案,但同时也能起到作用。
我有一个实例是 iAMPL jupyter notebook magic 的结果。如何将其转换为 python 中的字典?
print(x)
Returns 输出如下:
{('87', '41'): 0.0, ('59', '20'): 0.0, ('32', '40'): 0.0, ('49', '2'): 0.0, ('1', '20'): 0.0, ('21', '17'): 0.0, ('92', '3'): 0.0, ('55', '30'): 0.0, ('3', '15'): 0.0, ('8', '51'): 0.0, ('24', '28'): 0.0, ('18', '44'): 0.0, ('82', '38'): 0.0, ('63', '47'): 0.0, ('102', '47'): 0.0, ('87', '11'): 0.0, ('79', '14'): 0.0, ('4', '30'): 0.0, ('63', '6'): 0.0, ('71', '10'): 0.0, ('11', '33'): 0.0, ('54', '50'): 0.0, ('25', '13'): 0.0, ('47', '24'): 0.0, ('77', '1'): 1.0, ('3', '27'): 0.0, ('73', '7'): 0.0, ('63', '17'): 0.0, ('45', '21'): 0.0, ('16', '22'): 0.0, ('23', '29'): 0.0, ('7', '1'): 0.0, ('51', '2'): 0.0, ('83', '47'): 0.0, ('65', '51'): 0.0
好的,我正在尝试一种务实的方法,因为所有寻找 this 确切类型的尝试都失败了。
打印 x
似乎以字符串形式打印一个有效的 python 字典,所以我建议(这可能不是最佳的)是使用 x 转换为 str
和把它喂给 ast.literal_eval
,像这样:
import ast
d = ast.literal_eval(str(x))
d
现在是一个有效的 python 字典:
print(d[('87','41')])
returns 0.0
也许有更优雅的解决方案,但同时也能起到作用。