如何使用第二个字符串的前两个字母切换一个字符串的前两个字母?

时间:2015-09-23 17:31:14

标签: python string function methods replace

这是我到目前为止所做的。

def mix_up(a, b):

    a = a.replace(a[0:1], b[0:1])
    b = b.replace(b[0:1], a[0:1])

    return a + b

print mix_up('keegan', 'josh')

它返回:jeeganjosh

我需要它来返回joegan kesh

3 个答案:

答案 0 :(得分:4)

你想要复杂化。您不需要替换正好替换两个字符,只需执行:

a, b = b[0:2]+a[2:], a[0:2]+b[2:]

我在这里一行,因为否则我需要至少一个缓冲变量用于覆盖部分。

答案 1 :(得分:0)

不使用第三个变量

def mix_up(a, b):

    a, b = a.replace(a[0:2], b[0:2]) , b.replace(b[0:2], a[0:2])

    return a + " " + b

print mix_up('keegan', 'josh') #joegan kesh

答案 2 :(得分:-2)

def mix_up(a, b):
    ao = a
    a = b[:2] + a[2:]
    b = ao[:2] + b[2:]

    return '{0} {1}'.format(a, b)

print mix_up('keegan', 'josh')
#joegan kesh