2013-12-18 55 views
3

我想忽略下面的代碼中的轉義字符。如何忽略轉義的 python列表?

>>> a=['\%'] 
>>> print a 
['\\%'] 

我想輸出像['\%']。有沒有辦法做到這一點?

+3

你確定你明白你在這裏看到?在Python中,''\\%'=='\%'' - 都代表一個反斜槓字符,後跟一個百分號字符。 – Eric

回答

8

使用string_escapeunicode_escape編碼(見Python Specific Encodings):

>>> a = ['\%'] 
>>> print str(a).decode('string_escape') 
['\%'] 
>>> print str(a).decode('unicode_escape') 
['\%'] 
0

夫婦的手動方式:

>>> a=['\%'] 
>>> print "['{}']".format(a[0]) 
['\%'] 
>>> print "['%s']" % a[0] 
['\%'] 

或者更一般地說:

>>> a=['\%', '\+'] 
>>> print '[{}]'.format(', '.join("'{}'".format(i) for i in a)) 
['\%', '\+'] 
>>> print '[%s]' % ', '.join("'%s'" % i for i in a) 
['\%', '\+']