📅  最后修改于: 2023-12-03 15:37:13.831000             🧑  作者: Mango
本题是关于字符串处理的问题。给定字符串s
和一个索引n
,要求将字符串的前n
个字符和后n
个字符交换位置,并输出新的字符串。
假设输入的字符串为s="this is a string"
,索引为n=3
,则新的字符串应该是"string is a thist"
。
考虑将字符串分为三个部分,前n
个字符、后n
个字符和中间剩余部分。然后将前后两个部分反转,最后将这三个部分连接起来即可。
def swap_string(s: str, n: int) -> str:
return s[n:len(s)] + s[n:2*n] + s[0:n]
s = "this is a string"
n = 3
new_s = swap_string(s, n)
print(new_s)
代码解析:
将字符串s
拆分成三个部分:前n
个字符、后n
个字符和中间剩余部分,可以使用字符串的切片操作s[i:j]
,表示提取从i
到j-1
的子字符串。
用切片操作将前后两个部分反转。
将三个部分连接起来,形成新的字符串。
在本代码实现中,函数swap_string
接收两个参数,分别是字符串s
和索引n
,返回新的字符串。
接下来,我们可以使用以下命令来执行代码:
python3 swap_string.py
输出结果是:
string is a thist