【发布时间】:2018-04-01 17:29:03
【问题描述】:
我曾经被要求创建一个函数,给定一个字符串,从字符串中删除几个字符。
在 Python 中可以做到这一点吗?
这可以对列表进行,例如:
def poplist(l):
l.pop()
l1 = ['a', 'b', 'c', 'd']
poplist(l1)
print l1
>>> ['a', 'b', 'c']
我想要的是为字符串做这个功能。 我能想到的唯一方法是将字符串转换为列表,删除字符,然后将其连接回字符串。但随后我将不得不返回结果。 例如:
def popstring(s):
copys = list(s)
copys.pop()
s = ''.join(copys)
s1 = 'abcd'
popstring(s1)
print s1
>>> 'abcd'
我明白为什么这个功能不起作用。问题更多的是是否可以在 Python 中做到这一点?如果是,我可以不复制字符串吗?
【问题讨论】:
-
字符串是不可变的...所以 no.
-
我可以创建另一个字符串,但至少将它绑定到同一个变量吗?
-
Python 没有 ref 调用。再说一遍,不。
-
@ABDULNIYASPM ,这会导致像
'abca'这样的情况出现问题,根据您的方法,它将返回bc -
@ABDULNIYASPM :您可以做的一件事是通过
reversing字符串,删除one元素,然后将reverse返回。像这样:s[::-1].replace(s[-1],'',1)[::-1]
标签: python string python-2.7