2013-03-14 169 views
0

將此字符串轉換爲python中的列表或字典?在Python中將字符串轉換爲字典或列表?

['[', '{', 'u', "'", 'f', 'i', 'r', 's', 't', '_', 'n', 'a', 'm', 'e', "'", ':', ' ', 'u', "'", 'j', 'o', 'h', 'n', "'", ',', ' ', 'u', "'", 'l', 'a', 's', 't', '_', 'n', 'a', 'm', 'e', "'", ':', ' ', 'u', "'", 's', 'm', 'i', 't', 'h', "'", ',', ' ', 'u', "'", 'a', 'g', 'e', "'", ':', ' ', '2', '0', ',', ' ', 'u', "'", 'm', 'o', 'b', 'n', 'u', 'm', "'", ':', ' ', 'u', "'", '1', '2', '3', '4', '1', '9', '0', '8', "'", ',', ' ', 'u', "'", '_', 'i', 'd', "'", ':', ' ', '1', ',', ' ', 'u', "'", 'e', 'm', 'a', 'i', 'l', "'", ':', ' ', 'u', "'", 's', 'm', 'i', 't', 'h', '@', 'g', 'm', 'a', 'i', 'l', '.', 'c', 'o', 'm', "'", '}', ']'] 
+0

你是說'['[','{','u',「'」,...'是存儲在Python字符串中的? – NPE 2013-03-14 08:31:46

+0

什麼是期望的輸出? – NPE 2013-03-14 08:32:03

+0

它應該是[{「first_name」:「john」,「last_name」:「smith」,「age」:20 ....}] – user27 2013-03-14 08:33:49

回答

10
>>> a = ['[', '{', 'u', "'", 'f', 'i', 'r', 's', 't', '_', 'n', 'a', 'm', 'e', "'", ':', ' ', 'u', "'", 'j', 'o', 'h', 'n', "'", ',', ' ', 'u', "'", 'l', 'a', 's', 't', '_', 'n', 'a', 'm', 'e', "'", ':', ' ', 'u', "'", 's', 'm', 'i', 't', 'h', "'", ',', ' ', 'u', "'", 'a', 'g', 'e', "'", ':', ' ', '2', '0', ',', ' ', 'u', "'", 'm', 'o', 'b', 'n', 'u', 'm', "'", ':', ' ', 'u', "'", '1', '2', '3', '4', '1', '9', '0', '8', "'", ',', ' ', 'u', "'", '_', 'i', 'd', "'", ':', ' ', '1', ',', ' ', 'u', "'", 'e', 'm', 'a', 'i', 'l', "'", ':', ' ', 'u', "'", 's', 'm', 'i', 't', 'h', '@', 'g', 'm', 'a', 'i', 'l', '.', 'c', 'o', 'm', "'", '}', ']'] 

>>> ''.join(a) 
    "[{u'first_name': u'john', u'last_name': u'smith', u'age': 20, u'mobnum': u'12341908', u'_id': 1, u'email': u'[email protected]'}]" 

>>> import ast 
>>> ast.literal_eval(''.join(a)) 
[{u'_id': 1, 
    u'age': 20, 
    u'email': u'[email protected]', 
    u'first_name': u'john', 
    u'last_name': u'smith', 
    u'mobnum': u'12341908'}] 

你是怎麼弄到的?

+0

在搞清楚要問什麼(+1) – NPE 2013-03-14 08:34:19

+0

謝謝Pavel – user27 2013-03-14 08:34:34

+0

@Janardhan:你擁有的是一個字符列表,而不是一個字符串。 – 2013-03-14 08:35:04

0

它本身就是一個列表,你在說要將它轉換爲列表! 嘗試打印類型(a)通過指定給定代碼爲a !!那麼你會得到

<type 'list'> 

作爲輸出!