有一次我被要求创建一个给定字符串的函数,从字符串中删除一些字符。在
在Python中可以这样做吗?在
可以对列表执行此操作,例如:
def poplist(l):
l.pop()
l1 = ['a', 'b', 'c', 'd']
poplist(l1)
print l1
>>> ['a', 'b', 'c']
我想要的是对字符串执行这个函数。 我能想到的唯一方法是将字符串转换成一个列表,删除这些字符,然后将其连接回字符串。但我得把结果还给你。 例如:
^{pr2}$我明白为什么这个功能不起作用。问题更多的是,是否可以用Python实现这一点?如果是的话,我可以不复制字符串吗?在
字符串是不可变的,这意味着你不能改变
str
对象。当然,您可以构造一个新字符串,它是对旧字符串的一些修改。但是您不能因此更改代码中的s
对象。在解决方法可以是使用容器:
然后
^{pr2}$popstring
因此得到一个contain,它检查容器,并将其他东西放入其中:但是,您没有更改string对象本身,您只将一个新字符串放入容器中。在
不能在Python中执行call by reference,因此不能调用函数:
然后改变变量}本身。在
x
:复制了x
的引用,因此不能修改变量{字符串是}。在
immutable
,因此您唯一的主要选择是通过slicing
创建一个new string
,并返回{另一个简单易用的方法可能是使用
^{pr2}$list
,然后使用join
中的元素来创建字符串。当然,这一切都取决于你的喜好。在如果您希望删除
pos
(此处为索引0)给定的某个索引处的字符,则可以slice
将字符串改为:您可以使用
bytearray
代替:注意事项:
bytearray
这是一个非常糟糕的想法顺便说一下,它可能是
XY problem
的一个实例。你真的需要把琴弦静音吗?在相关问题 更多 >
编程相关推荐