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