当前数据如下:
a:5:{s:1:0";a:4:{s:1:"1";s:2:"59";s:1:"2";s:2:"59";s:1:"3";s:2:"59";s:1:"4";s:2:"59";}s:1:"1";a:4:{s:1:"1";s:2:"75";s:1:"2";s:2:"75";s:1:"3";s:2:"75";s:1:"4";s:2:"75";}s:1:"2";a:4:{s:1:"1";s:2:"51";s:1:"2";s:2:"51";s:1:"3";s:2:"51";s:1:"4";s:2:"51";}s:1:"3";a:4:{s:1:"1";s:2:"74";s:1:"2";s:2:"74";s:1:"3";s:2:"74";s:1:"4";s:2:"74";}s:1:"4";a:4:{s:1:"1";s:2:"51";s:1:"2";s:2:"51";s:1:"3";s:2:"51";s:1:"4";s:2:"51";}}"
我需要的列表列表是:
[[59,59,59,59],[75,75,75,75],[51,51,51,51],[74,74,74,74],[51,51,51,51]]
很抱歉,如果这个问题不是很有帮助。我正在努力寻找从哪里开始。
答案 0 :(得分:1)
如果数据是字符串,则可以使用列表推导来提取所需的输出
>>> mystring = """a:5:{s:1:"0";a:4:{s:1:"1";s:2:"59";s:1:"2";s:2:"59";s:1:"3";s:2:"59";s:1:"4";s:2:"59";}s:1:"1";a:4:{s:1:"1";s:2:"75";s:1:"2";s:2:"75";s:1:"3";s:2:"75";s:1:"4";s:2:"75";}s:1:"2";a:4:{s:1:"1";s:2:"51";s:1:"2";s:2:"51";s:1:"3";s:2:"51";s:1:"4";s:2:"51";}s:1:"3";a:4:{s:1:"1";s:2:"74";s:1:"2";s:2:"74";s:1:"3";s:2:"74";s:1:"4";s:2:"74";}s:1:"4";a:4:{s:1:"1";s:2:"51";s:1:"2";s:2:"51";s:1:"3";s:2:"51";s:1:"4";s:2:"51";}}"""
>>> [[int(y.split(':')[2].strip('"')) for y in x.split(';')[1::2]]for x in [z.split('}')[0] for z in mystring.split('{') if '}' in z]]
[[59, 59, 59, 59], [75, 75, 75, 75], [51, 51, 51, 51], [74, 74, 74, 74], [51, 51, 51, 51]]