好的,我对Python很陌生,不知道如何做到这一点:
我需要取一个字符串,说' ABAB__AB',将其转换为列表,然后取出我要移动的对的前导索引并将该对与__交换。我认为输出应该是这样的:
move_chars('ABAB__AB', 0)
'__ABABAB'
和另一个例子:
move_chars('__ABABAB', 3)
'BAA__BAB'
老实说不知道怎么做。
答案 0 :(得分:0)
Python字符串是不可变的,因此您无法真正修改字符串。相反,你创建一个新的字符串。
如果您希望能够修改字符串中的单个字符,可以将其转换为字符列表,对其进行处理,然后将列表重新加入字符串中。
chars = list(str)
# work on the list of characters
# for example swap first two
chars[0], chars[1] = chars[1], chars[0]
return ''.join(chars)
答案 1 :(得分:0)
我认为这应该转到评论部分,但由于缺乏声誉我无法评论,所以...
您可能希望坚持使用列表索引交换,而不是使用.pop()
和.append()
。 .pop()
可以从任意索引中删除元素,但一次只能删除一个元素,而.append()
只能 添加到列表的末尾。因此它们非常有限,并且会使您的代码在这类问题中使用它们变得复杂。
所以,好吧,最好坚持用索引进行交换。
答案 2 :(得分:0)
诀窍是使用列表切片来移动字符串的一部分。
split