2015-11-08 77 views
0

我有一個字符串變量,Python的轉換字符字符串轉換成適當的表結構

str = "b'[["innovation",3],["marketing",3],["credentials",2],["trends",2]]' 

什麼是它們轉換成易於處理的Python結構,如json/dict/list/tuple的最佳方式?

+1

使用'str'作爲變量名通常是個壞主意,因爲它會掩蓋內置的Python數據類型名稱。 –

+0

這個字符串從哪裏來?它是JSON還是Python?如果它是Python,你不應該首先生成這樣的字符串。 – Daniel

回答

1

使用ast.literal_eval

>>> my_str = b'[["innovation",3],["marketing",3],["credentials",2],["trends",2]]' 
>>> 
>>> from ast import literal_eval 
>>> literal_eval(my_str) 
[['innovation', 3], ['marketing', 3], ['credentials', 2], ['trends', 2]] 
>>> 

或者json.loads()

>>> import json 
>>> json.loads(my_str) 
[[u'innovation', 3], [u'marketing', 3], [u'credentials', 2], [u'trends', 2]] 
>>> 

注意:不要使用Python鍵字和模塊名作爲變量名。

+0

在字符串 – JoulinRouge

+0

的開頭有一個b很好,我設法做一些類似json.loads(my_str [2:])的東西 – kengcc