簡體   English   中英

替換字符串中除一種類型之外的所有字符:Python

[英]Replacing all but one type of character in a string: Python

 choice = "lillian"
 firstpick = "l"

 for n in choice:
    if n != firstpick:
       inverse = n
       if inverse in choice:
           print(choice.replace(inverse,'-'))

此代碼所需的 output 應該是“l-ll---”但它是“l-ll-an”“l-ll-an”“lilli-n”“lillia-”

對此感到抱歉,我不是最擅長代碼,但我會很感激一個解決方案。 謝謝!

這是一種選擇:

choice = "lillian"
firstpick = "l"
''.join([c if c==firstpick else '-' for c in choice])

字符串是不可變的,因此您需要存儲替換的結果。 嘗試這個:

choice = "lillian"
firstpick = "l"

for letter in choice:
    if letter != firstpick:
       choice = choice.replace(letter, '-')

print(choice)

您可以在@OfirY 的答案中用生成器表達式替換列表理解,如下所示:

choice = 'Lillian'
firstpick = 'l'
''.join(c if c == firstpick else '-' for c in choice)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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