簡體   English   中英

我如何在 Python 中將字符串列表中的“\\”替換為“\”

[英]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\nb的字符串混淆,字符串中的“真實”反斜杠具有\\的表示形式,而打印為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM