首先,我在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/

10-12 16:50
查看更多