Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何更改代码以反转某些子字符串?_Python_Python 3.x_String_Slice_Reverse - Fatal编程技术网

Python 如何更改代码以反转某些子字符串?

Python 如何更改代码以反转某些子字符串?,python,python-3.x,string,slice,reverse,Python,Python 3.x,String,Slice,Reverse,我试图将字符串中的前两个字符移到末尾,最后两个字符移到前面。然后我想反转我移动的字符 例如,bajui。首先我们交换第一个和最后两个字符,给出uijba,然后我想将ui转换成iu,将ba转换成ab,因此最终结果应该是iujab 这是我目前的代码: def startToEnd(kata): kata = kata[-2:] + kata[2:3] + kata[:2] return kata print(startToEnd("bajui")) 这样,它将给出uijba。如何反转已

我试图将字符串中的前两个字符移到末尾,最后两个字符移到前面。然后我想反转我移动的字符

例如,
bajui
。首先我们交换第一个和最后两个字符,给出
uijba
,然后我想将
ui
转换成
iu
,将
ba
转换成
ab
,因此最终结果应该是
iujab

这是我目前的代码:

def startToEnd(kata):
   kata = kata[-2:] + kata[2:3] + kata[:2]
   return kata
print(startToEnd("bajui"))

这样,它将给出
uijba
。如何反转已移动的字符?

您可以使用字符串切片来实现这一点-注意,这仅适用于长度至少为4的字符串

代码:

def startToEnd(kata):
    return kata[:-3:-1] + kata[2:-2] + kata[1::-1]
>>> startToEnd('makam')
'makam'
>>> startToEnd("bajui")
'iujab'
输出:

def startToEnd(kata):
    return kata[:-3:-1] + kata[2:-2] + kata[1::-1]
>>> startToEnd('makam')
'makam'
>>> startToEnd("bajui")
'iujab'