2012-12-24 43 views
2

我有列表值的Python轉彎列表值存儲爲:成字符串

country = [u'USA'] 

我怎樣才能把它變成只是「USA」。我試過str(country),但它沒有奏效。

+2

「獲取列表的第一個元素」? '[u'USA']'是一個* list *,它包含一個[unicode]字符串作爲第一個也是唯一的元素。列表的__str__協議也會輸出「[..]」。 – 2012-12-24 03:38:35

回答

10

在元素上應用str()不就行了:

In [206]: country = [u'USA'] 

In [207]: country[0] = str(country[0]) 

In [208]: country 
Out[208]: ['USA'] 

或可能是你的意思是這樣的:

In [217]: country = [u'USA'] 

In [218]: country = str(country[0]) 

In [219]: country 
Out[219]: 'USA' 
+0

謝謝......這是第二個版本。謝謝 – user1869421

5

country是已經包含Unicode字符串列表。你不需要轉換它。 u''語法只是作爲Python文本的項目表示(您將如何在Python源代碼中鍵入它)。

如果你確實需要一個字節串;使用.encode()方法用合適的字符編碼例如爲:

b = country[0].encode("ascii") 

一般而言,結構文本處理代碼爲Unicode sandwich即,在內部使用Unicode,並使用字節僅與外界通信;不要混合兩者。