首先,我在Windows 10上运行Python 3.6。
python中的反斜杠字符是一种特殊字符,充当字符串的“转义符”。因此,无法直接打印。如果要打印单个反斜杠,则无法执行此操作:
print("\") #error message
解决此问题的方法是简单地添加另一个反斜杠,如下所示:
print("\\") #\
到目前为止,一切都很好。但是,当您创建字符串元素列表时,如下所示:
list_of_strings = ['<','>','\u20AC','\u00A3','$','\u00A5','\u00A4','\\']
print(list_of_strings)
打印出以下内容:
['','€','£','$','¥','¤','\\']
这不理想。尝试在字符串中仅使用一个反斜杠('\')将导致与开头所述相同的EOL错误。
如果您尝试使用其unicode(u005C)的单个实例直接打印出反斜杠,如下所示:
print(['<','>','\u20AC','\u00A3','$','\u00A5','\u00A4','\u005C'])
输出仍然有一个双斜杠:
['','€','£','$','¥','¤','\\']
我尝试过的另一件事是:
bs = "\\"
print(bs) #prints a single \
list_of_strings = ['a','b','c','d',bs]
print(list_of_strings) #prints ['a', 'b', 'c', 'd', '\\']
那么,有没有一种方法可以对我进行设置,以便将单个反斜杠作为字符串元素打印在列表中?
我感谢您能给我任何帮助!
最佳答案
在python中打印列表时,在后台调用repr()方法。这意味着print(list_of_strings)本质上与以下内容相同(除了换行符):
>>> for element in list_of_strings:
... print(element.__repr__())
...
'<'
'>'
'€'
'£'
'$'
'¥'
'¤'
'\\'
实际上,存储的字符串为“ \”,只是表示为“ \\”
>>> for element in list_of_strings:
... print(element)
...
<
>
€
£
$
¥
¤
\
如果按上述方式分别打印出每个元素,它将为您显示文字值,而不是所表示的值。
关于python - 在Python中,如何在列表中有一个反斜杠元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59460305/