Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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_String_Function - Fatal编程技术网

如何在Python中混合字符串

如何在Python中混合字符串,python,string,function,Python,String,Function,我试图在python中编写一个混合字符串的函数,但最后我被卡住了。对于这个例子,我有两个词,mix和pod。我想创建一个返回:pox mid的函数 我的代码只返回pox mix 代码: 我想用多个词来表达这个意思。再举一个例子: 如果我用狗,晚餐 输出应该返回dig donner 谢谢 如果你只是想一直把第二个字放在第一个字之前: def mix_up(a,b): return " ".join([b,a]) # Should return pod mix 如果你的目标是pox m

我试图在python中编写一个混合字符串的函数,但最后我被卡住了。对于这个例子,我有两个词,mix和pod。我想创建一个返回:pox mid的函数

我的代码只返回pox mix

代码:

我想用多个词来表达这个意思。再举一个例子:

如果我用狗,晚餐

输出应该返回dig donner


谢谢

如果你只是想一直把第二个字放在第一个字之前:

def mix_up(a,b):
    return " ".join([b,a])   # Should return pod mix
如果你的目标是
pox mix
,说明你可能想:

1) 将单词
b
的最后一个字符替换为x 2) 把b放在a前面

在这种情况下,功能将是:

 def mix_up(a,b):
    b = b.replace(b[len(b)-1], 'x') # 'x' could be any other character
    return " ".join([b,a])   # Should return pox mix
你可以简单地用a交换b来改变单词的位置

如果您不想在metween中使用此空间:

return "".join([b,a])
更新

要在b和a之间“交换”第二个字母,我只需按如下方式更正您的函数:

def mix_up(a, b):
    if len(a and b)>1:
        temp = b[1] # Store it in a temp
        b=str.replace(b,b[2],a[2:3])
        a=str.replace(a,a[2],b[2])
        print (b,"",a)
    return
mix_up('mix','pod')
您唯一的问题是,一旦您替换了
b
,您就在使用新的
b
选择第二个字母并替换为
a

玩得很少


这不是混合…这是重新安排到一个特定的模式,即pod(第二个单词)、空格和第一个单词…我认为混合将是一些你无法说出pod和混合将放在哪里的东西…你想只交换两个单词的最后一个字母吗
mix
pod
变成
mid
pox
在他的示例输出OP中,交换了两个单词的最后一个字符too@mattm一旦OP澄清了他的问题,我会更新我的答案……根据他试图做的……上述解决方案有效……@ha9u63ar,对不起,应该更清楚一些。虽然这在技术上解决了这个问题,但如果我更改了单词,它不会解决这个问题。因此,如果我使用单词dog,晚餐,函数应该返回dig donner
def mix_up(a, b):
    if len(a and b)>1:
        temp = b[1] # Store it in a temp
        b=str.replace(b,b[2],a[2:3])
        a=str.replace(a,a[2],b[2])
        print (b,"",a)
    return
mix_up('mix','pod')
def mix_up(first, second):
    new_first = second[:2] + first[2:]
    new_second = first[:2] + second[2:]
    return " ".join((new_first, new_second))

assert mix_up('mix','pod') == 'pox mid'
assert mix_up('dog','dinner') == 'dig donner'