将列表字符串转换为列表

时间:2018-07-09 15:09:42

标签: python list

我在此站点上找不到该问题的其他任何出现,因此我希望这不会重复。 因此,我将以下文本作为字符串。如何将其转换为格式化后的列表?

[{'id': '439142775754326018', 'channel': '444494690855944212'}, {'id': '426885538918694932', 'channel': '430361953530281984'}, {'id': '430855255383605248', 'channel': '451853323398807552'}, {'id': '368643310203568130', 'channel': '452139548579987476'}, {'id': '440856369944330250', 'channel': '449625381213831188'}, {'id': '434339851446517760', 'channel': '445133299262816266'}, {'id': '428930205793648640', 'channel': '450776641107656715'}, {'id': '316060885229633577', 'channel': '448767987743457290'}, {'id': '437114495027118080', 'channel': '437390161375133696'}, {'id': '451995821257261056', 'channel': '452223587697426442'}, {'id': '359926863885369349', 'channel': '431056330028220416'}, {'id': '422559965312581642', 'channel': '452282513940021261'}, {'id': '437966207782748161', 'channel': '452618004388249601'}, {'id': '451696650080223233', 'channel': '452692771120349206'}, {'id': '369960568913788929', 'channel': '428272365885980673'}, {'id': '151217785807175680', 'channel': '453190112725958656'}, {'id': '389781926661062656', 'channel': '442695145633349648'}, {'id': '451784996789682186', 'channel': '453267557692997642'}, {'id': '441654887043039252', 'channel': '449313164342067201'}, {'id': '420883942993035275', 'channel': '448390553701187585'}, {'id': '453545075524501505', 'channel': '453556398408728596'}, {'id': '364044379813576706', 'channel': '430710266221690890'}, {'id': '436969950167433216', 'channel': '453877346227847172'}, {'id': '452444381157523457', 'channel': '454402297586515998'}, {'id': '429083181963280386', 'channel': '454976869058609163'}, {'id': '341650496244809728', 'channel': '455008952065720320'}, {'id': '366282628707516418', 'channel': '455010915138666526'}, {'id': '455268589768015872', 'channel': '455332655853076480'}, {'id': '412158198586408971', 'channel': '454116567614095360'}, {'id': '284531985207001090', 'channel': '455656462090502145'}, {'id': '447166404626612234', 'channel': '455738112715522048'}]

2 个答案:

答案 0 :(得分:4)

使用json.loads

import json
s = "[{'id': '439142775754326018', 'channel': '444494690855944212'}, {'id': '426885538918694932', 'channel': '430361953530281984'}, {'id': '430855255383605248', 'channel': '451853323398807552'}, {'id': '368643310203568130', 'channel': '452139548579987476'}, {'id': '440856369944330250', 'channel': '449625381213831188'}, {'id': '434339851446517760', 'channel': '445133299262816266'}, {'id': '428930205793648640', 'channel': '450776641107656715'}, {'id': '316060885229633577', 'channel': '448767987743457290'}, {'id': '437114495027118080', 'channel': '437390161375133696'}, {'id': '451995821257261056', 'channel': '452223587697426442'}, {'id': '359926863885369349', 'channel': '431056330028220416'}, {'id': '422559965312581642', 'channel': '452282513940021261'}, {'id': '437966207782748161', 'channel': '452618004388249601'}, {'id': '451696650080223233', 'channel': '452692771120349206'}, {'id': '369960568913788929', 'channel': '428272365885980673'}, {'id': '151217785807175680', 'channel': '453190112725958656'}, {'id': '389781926661062656', 'channel': '442695145633349648'}, {'id': '451784996789682186', 'channel': '453267557692997642'}, {'id': '441654887043039252', 'channel': '449313164342067201'}, {'id': '420883942993035275', 'channel': '448390553701187585'}, {'id': '453545075524501505', 'channel': '453556398408728596'}, {'id': '364044379813576706', 'channel': '430710266221690890'}, {'id': '436969950167433216', 'channel': '453877346227847172'}, {'id': '452444381157523457', 'channel': '454402297586515998'}, {'id': '429083181963280386', 'channel': '454976869058609163'}, {'id': '341650496244809728', 'channel': '455008952065720320'}, {'id': '366282628707516418', 'channel': '455010915138666526'}, {'id': '455268589768015872', 'channel': '455332655853076480'}, {'id': '412158198586408971', 'channel': '454116567614095360'}, {'id': '284531985207001090', 'channel': '455656462090502145'}, {'id': '447166404626612234', 'channel': '455738112715522048'}]"

json.loads(s.replace("'", '"'))
# [{'id': '439142775754326018', 'channel': '444494690855944212'}, {'id': '426885538918694932', 'channel': '430361953530281984'}, {'id': '430855255383605248', 'channel': '451853323398807552'}, {'id': '368643310203568130', 'channel': '452139548579987476'}, {'id': '440856369944330250', 'channel': '449625381213831188'}, {'id': '434339851446517760', 'channel': '445133299262816266'}, {'id': '428930205793648640', 'channel': '450776641107656715'}, {'id': '316060885229633577', 'channel': '448767987743457290'}, {'id': '437114495027118080', 'channel': '437390161375133696'}, {'id': '451995821257261056', 'channel': '452223587697426442'}, {'id': '359926863885369349', 'channel': '431056330028220416'}, {'id': '422559965312581642', 'channel': '452282513940021261'}, {'id': '437966207782748161', 'channel': '452618004388249601'}, {'id': '451696650080223233', 'channel': '452692771120349206'}, {'id': '369960568913788929', 'channel': '428272365885980673'}, {'id': '151217785807175680', 'channel': '453190112725958656'}, {'id': '389781926661062656', 'channel': '442695145633349648'}, {'id': '451784996789682186', 'channel': '453267557692997642'}, {'id': '441654887043039252', 'channel': '449313164342067201'}, {'id': '420883942993035275', 'channel': '448390553701187585'}, {'id': '453545075524501505', 'channel': '453556398408728596'}, {'id': '364044379813576706', 'channel': '430710266221690890'}, {'id': '436969950167433216', 'channel': '453877346227847172'}, {'id': '452444381157523457', 'channel': '454402297586515998'}, {'id': '429083181963280386', 'channel': '454976869058609163'}, {'id': '341650496244809728', 'channel': '455008952065720320'}, {'id': '366282628707516418', 'channel': '455010915138666526'}, {'id': '455268589768015872', 'channel': '455332655853076480'}, {'id': '412158198586408971', 'channel': '454116567614095360'}, {'id': '284531985207001090', 'channel': '455656462090502145'}, {'id': '447166404626612234', 'channel': '455738112715522048'}]

答案 1 :(得分:2)

最安全的方法是使用ast.literal_eval

from pprint import pprint
from ast import literal_eval

s = "[{'id': '439142775754326018', 'channel': '444494690855944212'}, {'id': '426885538918694932', 'channel': '430361953530281984'}, {'id': '430855255383605248', 'channel': '451853323398807552'}, {'id': '368643310203568130', 'channel': '452139548579987476'}, {'id': '440856369944330250', 'channel': '449625381213831188'}, {'id': '434339851446517760', 'channel': '445133299262816266'}, {'id': '428930205793648640', 'channel': '450776641107656715'}, {'id': '316060885229633577', 'channel': '448767987743457290'}, {'id': '437114495027118080', 'channel': '437390161375133696'}, {'id': '451995821257261056', 'channel': '452223587697426442'}, {'id': '359926863885369349', 'channel': '431056330028220416'}, {'id': '422559965312581642', 'channel': '452282513940021261'}, {'id': '437966207782748161', 'channel': '452618004388249601'}, {'id': '451696650080223233', 'channel': '452692771120349206'}, {'id': '369960568913788929', 'channel': '428272365885980673'}, {'id': '151217785807175680', 'channel': '453190112725958656'}, {'id': '389781926661062656', 'channel': '442695145633349648'}, {'id': '451784996789682186', 'channel': '453267557692997642'}, {'id': '441654887043039252', 'channel': '449313164342067201'}, {'id': '420883942993035275', 'channel': '448390553701187585'}, {'id': '453545075524501505', 'channel': '453556398408728596'}, {'id': '364044379813576706', 'channel': '430710266221690890'}, {'id': '436969950167433216', 'channel': '453877346227847172'}, {'id': '452444381157523457', 'channel': '454402297586515998'}, {'id': '429083181963280386', 'channel': '454976869058609163'}, {'id': '341650496244809728', 'channel': '455008952065720320'}, {'id': '366282628707516418', 'channel': '455010915138666526'}, {'id': '455268589768015872', 'channel': '455332655853076480'}, {'id': '412158198586408971', 'channel': '454116567614095360'}, {'id': '284531985207001090', 'channel': '455656462090502145'}, {'id': '447166404626612234', 'channel': '455738112715522048'}]"

my_list = literal_eval(s)
pprint(my_list)

输出:

[{'channel': '444494690855944212', 'id': '439142775754326018'},
 {'channel': '430361953530281984', 'id': '426885538918694932'},
 {'channel': '451853323398807552', 'id': '430855255383605248'},
 {'channel': '452139548579987476', 'id': '368643310203568130'},
 {'channel': '449625381213831188', 'id': '440856369944330250'},
 {'channel': '445133299262816266', 'id': '434339851446517760'},
 {'channel': '450776641107656715', 'id': '428930205793648640'},
 {'channel': '448767987743457290', 'id': '316060885229633577'},
 {'channel': '437390161375133696', 'id': '437114495027118080'},
 {'channel': '452223587697426442', 'id': '451995821257261056'},
 {'channel': '431056330028220416', 'id': '359926863885369349'},
 {'channel': '452282513940021261', 'id': '422559965312581642'},
 {'channel': '452618004388249601', 'id': '437966207782748161'},
 {'channel': '452692771120349206', 'id': '451696650080223233'},
 {'channel': '428272365885980673', 'id': '369960568913788929'},
 {'channel': '453190112725958656', 'id': '151217785807175680'},
 {'channel': '442695145633349648', 'id': '389781926661062656'},
 {'channel': '453267557692997642', 'id': '451784996789682186'},
 {'channel': '449313164342067201', 'id': '441654887043039252'},
 {'channel': '448390553701187585', 'id': '420883942993035275'},
 {'channel': '453556398408728596', 'id': '453545075524501505'},
 {'channel': '430710266221690890', 'id': '364044379813576706'},
 {'channel': '453877346227847172', 'id': '436969950167433216'},
 {'channel': '454402297586515998', 'id': '452444381157523457'},
 {'channel': '454976869058609163', 'id': '429083181963280386'},
 {'channel': '455008952065720320', 'id': '341650496244809728'},
 {'channel': '455010915138666526', 'id': '366282628707516418'},
 {'channel': '455332655853076480', 'id': '455268589768015872'},
 {'channel': '454116567614095360', 'id': '412158198586408971'},
 {'channel': '455656462090502145', 'id': '284531985207001090'},
 {'channel': '455738112715522048', 'id': '447166404626612234'}]