2017-09-06 61 views
1

我不斷收到TypeError:只能加入一個迭代。 我想從Python中的字符串中刪除特定的字符。問題在刪除字符串中的特定字符

def get_2s_and_5s_removed(dice_string): 
    dice_string =list(dice_string) 
    if '2' in dice_string: 
     dice_string =dice_string.remove('2') 
     return ''.join(dice_string) 
    if '5' in dice_string: 
     dice_string =dice_string.remove('5') 
     return ''.join(dice_string)** 
+0

是否要刪除*所有* 2秒和5秒顧名思義?你的算法,如果它的工作,將刪除一個2 else one 5. –

+0

然後我應該添加一個while循環和一個壞的聲明 – Adrian

回答

3

Python的remove方法修改列表本身並不會返回包含原始列表減去去除值的新名單。使用它的正確方法是:dice_string.remove('2')(即不要對它使用等號,因爲它會將NoneType分配給變量)。

+0

哦,謝謝你的信息 – Adrian

3

假設你要刪除所有 2秒和5秒的功能顧名思義,你真正需要的是.replace

>>> '11223245565'.replace('2','').replace('5','') 
'11346'