[英]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.