thisdict = {"brand": "Ford", "model": "\\[vocalized-noise\\]", "year": 1964}
x = thisdict["model"]
print(x)
Output:
\[vocalized-noise\]
Expected Output:
\\[vocalized-noise\\]
答案 0 :(得分:4)
"\\"
是一个字符串文字,用于创建带有 one 反斜杠的字符串。如果要让输出显示两个反斜杠,则首先需要两个反斜杠。
>>> x = "\\"
>>> print(x)
\
>>> x = "\\\\"
>>> print(x)
\\
从左到右,反斜杠转义以下字符:该过程使转义的字符替换为由第一个确定的另一个字符;进行转义的反斜杠也将被删除。一些例子:
'\t'
->单个制表符( t ab为t
)'\r'
->单个回车符({<1> r 回车符r
)'\\'
->单个反斜杠(\
表示反斜杠)应用于您的dict文字,应该是
thisdict = {"brand": "Ford", "model": "\\\\[vocalized-noise\\\\]", "year": 1964}
答案 1 :(得分:2)
反斜杠是字符串转义字符;为了逃避反斜杠,请将其加倍。因此,当您执行'\\'
时,您是在说“第二个反斜杠不会转义结尾的单引号,因为第一个反斜杠使它成为普通的反斜杠(否则第一个反斜杠不属于字符串) “。
如果您希望反斜杠按字面意义进行解释,且不进行转义(除了引号字符本身,这意味着您不能以反斜杠结束字符串),请使用以r
为前缀的原始字符串,并且所有反斜杠都将被解释为文字反斜杠:
thisdict = {"brand": "Ford", "model": r"\\[vocalized-noise\\]", "year": 1964}
唯一的选择是将反斜杠加倍,这很快就会变得难看:
thisdict = {"brand": "Ford", "model": "\\\\[vocalized-noise\\\\]", "year": 1964}
答案 2 :(得分:0)
反斜杠字符\
用于"escape" other special characters,就像引号一样。它本身可以被转义以向python表示您的意思是\
字符,而不是某些特殊的转义序列。如果键入\\
,它将显示为\
。
在将数据插入为\\\\[vocalized-noise\\\\]
以使它们正常打印\\
时,请转义斜线。
答案 3 :(得分:0)
r''
。” \
是python中的转义字符。r
,您不必在每个\
之前手动添加\
。>>> s = r'\\[vocalized-noise\\]'
>>> s
'\\\\[vocalized-noise\\\\]'
>>> thisdict = {"brand": "Ford", "model": r"\\[vocalized-noise\\]", "year": 1964}
>>> x = thisdict['model']
>>> print(x)
\\[vocalized-noise\\]
r
的意思是raw_string
。将使用\
作为反斜杠,除非它在引号之前,否则将终止文字。 ps:您可以在What exactly do "u" and "r" string flags do, and what are raw string literals?的r''
上阅读更多内容
答案 4 :(得分:0)
如果您需要以编程方式像这样转义数据,则可以这样做:
df1 = pd.Dataframe([[data] x 7000...], columns=["COUNTY", "TOWN", "VILLAGE", "DATA1", "DATA2"])
df2 = pd.Dataframe([[data] x 220000...], columns=["COUNTY", "TOWN", "VILLAGE", "population"])
Unicode逸出编解码器将转义反斜杠,从原始Unicode逸出编解码器进行解码将保留它们,而对Unicode逸出进行解码。