2014-09-26 70 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

相关问题