交换单词或字符串中的第一个和最后一个字符

时间:2019-05-30 22:12:38

标签: python-3.x

我有一个代码段,可以替换给定字符串中的第一个和最后一个字符,该代码可以正常工作:

def front_back(s1):
if len(s1) == 1:
    return s1
else:
    convert_to_list = list(s1)
    temp_list = convert_to_list[0], convert_to_list[-1]
    convert_to_list[-1] = temp_list[0]
    convert_to_list[0] = temp_list[1]
    s1 = ''.join(convert_to_list)
    return s1

inpt1 = input('Enter string :')
print(front_back(inpt1))

我得到的输出是:

front_back('code') -- 'eodc'

在上面的代码中,我可以进行哪些修改以使其更有效,因为我知道您可以使用切片功能来实现它。 另外,如何使此代码适用于包含两个单词的字符串:

input: 'hello world'

output should be: 'oellh dorlw'

由于当前它仅替换第一个字符i.e. 'ello worlh'

谢谢。

1 个答案:

答案 0 :(得分:1)

编辑:

def front_back(s1):
    if len(s1) == 1:
        return s1
    else:
        newlist = []
        convert_to_list = s1.split()
        for each in convert_to_list:
            each_list = list(each)
            firstC, lastC = each_list[0], each_list[-1]

            each_list[0] = lastC
            each_list[-1] = firstC

            newword = ''.join(each_list)
            newlist.append(newword)


    return ' '.join(newlist)

inpt1 = input('Enter string :')
print(front_back(inpt1))