删除特定索引处的字符-python

删除特定索引处的字符-python,python,Python,我有一个字符串,其中有两个“0”(str),我只想删除索引4处的“0”(str) 我已尝试调用.replace,但很明显,它会删除所有“0”,并且我找不到一个函数可以为我删除位置4处的字符 有人给我一个提示吗?使用切片,重建字符串减去要删除的索引: newstr = oldstr[:4] + oldstr[5:] 作为旁注,replace不必移动所有零。如果您只想删除第一个,请将计数指定为1: 'asd0asd0'.replace('0','',1) 输出: 'asdasd0'切片是可行的(

我有一个字符串,其中有两个“0”(str),我只想删除索引4处的“0”(str)

我已尝试调用.replace,但很明显,它会删除所有“0”,并且我找不到一个函数可以为我删除位置4处的字符


有人给我一个提示吗?

使用切片,重建字符串减去要删除的索引:

newstr = oldstr[:4] + oldstr[5:]

作为旁注,
replace
不必移动所有零。如果您只想删除第一个,请将计数指定为1:

'asd0asd0'.replace('0','',1)
输出:

'asdasd0'

切片是可行的(也是首选的方法),但如果需要更多操作(但转换为列表也不会有什么坏处),这只是一种替代方法:


另一个选项,使用列表理解和连接:

''.join([_str[i] for i in xrange(len(_str)) if i  != 4])
请尝试以下代码:

s = input() 
a = int(input()) 
b = s.replace(s[a],'')
print(b)

这是我对任何字符串
s
和任何索引
i
的通用解决方案:

def remove_at(i, s):
    return s[:i] + s[i+1:]

零基索引

如果您只想替换索引
7
中的
0
,该怎么办?这个问题已经有5年了:/。如果没有一些短语,原始代码片段就没有多大帮助。请编辑你的答案。我最喜欢这一个,因为它可以概括。。。我的问题用
''解决了。join([x代表x,如果x不在禁止字符中])
rem = lambda x, unwanted : ''.join([ c for i, c in enumerate(x) if i != unwanted])
rem('1230004', 4)
'123004'
def remove_char(input_string, index):
    first_part = input_string[:index]
    second_part - input_string[index+1:]
    return first_part + second_part

s = 'aababc'
index = 1
remove_char(s,index)
ababc
rem = lambda x, unwanted : ''.join([ c for i, c in enumerate(x) if i != unwanted])
rem('1230004', 4)
'123004'