2017-09-06 63 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'