[英]How i can replace in a list of strings “\\” with “\” in Python
在我的代码中,我有一个位置列表,列表的 output 是这样的
['D:\\Todo\\VLC\\Daft_Punk\\One_more_time.mp4"', ...
我想用“\”替换“\\”(listcancion 是包含所有字符串的列表)我尝试用此代码remplacement = [listcancion.replace('\\', '\') for listcancion in listcancion]
或this remplacement = [listcancion.replace('\\\\', '\\') for listcancion in listcancion]
或 this remplacement = [listcancion.replace('\\', 'X') for listcancion in listcancion] listrandom = [remplacement.replace('X', '\') for remplacement in remplacement]
我只需要更改字符 \ 我不能这样做("\\Todo", "\Todo")
,因为我有更多字符要替换。
如果我可以在没有进口的情况下解决,那就太好了。
这只是字符串表示的问题。
首先,您必须区分字符串的“真实”内容及其表示形式。
字符串的“真实”内容可能是字母、数字、标点符号等,这使得显示它非常容易。 但想象一个包含a
、换行符和 a b
的字符串。 如果你打印那个字符串,你会得到 output
a
b
这是你所期望的。
但是为了使它更紧凑,这个字符串的表示是a\nb
:换行符表示为\n
, \
用作转义字符。 比较print(a)
(与print(str(a))
相同)和print(repr(a))
的 output 。
现在,为了不将其与包含a
、 \
、 n
和b
的字符串混淆,字符串中的“真实”反斜杠具有\\
的表示形式,而打印为a\nb
的相同字符串具有表示形式a\\nb
以便与第一个示例区分开来。
如果您打印任何内容的列表,它会显示为其组件表示的逗号分隔列表,即使它们是字符串。
如果你这样做
for element in listcancion:
print(element)
您会看到该字符串实际上只包含一个\
,其表示形式为\\
。
(哦,顺便说一句,我不确定[listcancion.<something> for listcancion in listcancion]
按预期工作;最好使用另一个变量作为循环变量,例如[element.<something> for element in listcancion]
.)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.