2014-09-26 49 views
0

以下兩個使用print的python輸出之間有什麼區別?python如何打印unicode字符串和列表?

第一代碼

s=u'String' 
print s 

輸出以下消息。

String

第二代碼

sl={} 
sl[u'String']=u'String' 
print sl 

打印不同的消息。

{u'String': u'String'} 

爲什麼unicode標籤在第一種情況下被移除,但不是第二種。

另外,如果我利用閒置和不使用打印我得到u'String',如下圖所示:

>>> s=u'String' 
>>> s 
u'String' 

但是,如果我把相同的兩條線在file.py和運行python file.py我什麼也沒得到。

回答

0

對於您的第一塊代碼,您正在打印一個字符串,因此它按預期打印。

關於第二個代碼段:

sl={} 

定義SL作爲字典和

sl[u'String']=u'String' 

增加了一個鍵 - 值對的字典。因此,當您打印sl時,它將打印所有字典的鍵值對。

這可能會幫助你理解

>>> x = {} 
>>> x[1] = "Hello" 
>>> x[2] = "Bye" 
>>> print x 
{1: 'Hello', 2: 'Bye'} 
>>> 
+0

謝謝你。我剛剛學到了元組,列表和字典之間的差異。至少我知道代碼現在在做什麼。但是,我最初的問題是關於打印操作的行爲。爲什麼print將unicode字符串轉換爲ASCII,但是對於元組,列表或字典不這樣做? – mishatomsk 2014-09-26 14:08:20