2017-05-29 74 views
0

我试图一个字节列表转换成int列表清单,说我拉类似于数据:转换一个列表这是一个字节到整数

test = b'[[9126, 0.2812168002128601], [9514, 0.2675456404685974], [9342, 0.26063060760498047], [8999, 0.23802196979522705], [9056, 0.23092836141586304], [9053, 0.22339123487472534], [9019, 0.2215365171432495], [9225, 0.21875709295272827]] 

当我运行str(test, "utf-8")test.decode("utf-8")它将test转换为长字符串。我需要test转换成一个列表,这样我可以通过它进行迭代,其中

test[0] = [9126, 0.2812168002128601] 
test[1] = [9514, 0.2675456404685974] 
... 

哪来现在我得到:

test[0] = [ 
test[1] = [ 
test[2] = 9 
... 
+0

'ast.literal_eval' – zondo

回答

0
>>> import json 
>>> test = b'[[9126, 0.2812168002128601], [9514, 0.2675456404685974], [9342, 0.26063060760498047], [8999, 0.23802196979522705], [9056, 0.23092836141586304], [9053, 0.22339123487472534], [9019, 0.2215365171432495], [9225, 0.21875709295272827]]' 
>>> new_list = json.loads(test) 
>>> new_list 
[[9126, 0.2812168002128601], [9514, 0.2675456404685974], [9342, 0.26063060760498047], [8999, 0.23802196979522705], [9056, 0.23092836141586304], [9053, 0.22339123487472534], [9019, 0.2215365171432495], [9225, 0.21875709295272827]] 
>>> new_list[0] 
[9126, 0.2812168002128601] 
>>> new_list[1] 
[9514, 0.2675456404685974]