Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.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 尝试将一个字符串插入另一个字符串的x位置_Python - Fatal编程技术网

Python 尝试将一个字符串插入另一个字符串的x位置

Python 尝试将一个字符串插入另一个字符串的x位置,python,Python,这就是我目前所拥有的。这是家庭作业。我们不能用切片。我似乎不明白 def insert(s1, s2, pos): s3 = list(s1) for i,s in enumerate(s3): if i == pos: s3[pos + 1] = s s3[i] = s2 "".join(s3) return s3 使用上述方法,字符串s1的最后一个字符将被删除,join方法不会将s3合

这就是我目前所拥有的。这是家庭作业。我们不能用切片。我似乎不明白

def insert(s1, s2, pos):
    s3 = list(s1)
    for i,s in enumerate(s3):
        if i == pos:
            s3[pos + 1] = s
            s3[i] = s2
    "".join(s3)     
    return s3
使用上述方法,字符串
s1
的最后一个字符将被删除,
join
方法不会将
s3
合并到单个字符串中。

请注意行

"".join(s3)     
return s3
如果查看,您将看到join不会修改其参数,而是生成一个包含参数列表内容的字符串,所有这些内容都连接在一起。所以你要扔掉这场比赛的结果

"".join(s3)
并返回
s3
(列表)。因此,您需要将最后两行更改为

return ''.join(s3)

由于这是家庭作业,我不会对代码的其余部分进行注释,但是返回联接调用的结果肯定会有所帮助。

def insert(s1,s2,pos):s3=list(s1)for I,s in enumerate(s3):if I==pos:s3。insert(I,s2)return''。join(s3)感谢关于联接的提示。我突然想到我可以使用insert,但我不确定我的教授是否会允许它合法。教授讨厌我们使用内置方法。我认为他反对使用像
sort()
这样的方法,因为在python中,使用列表理解和一些
if
语句只需一行就可以编写一个非常简单的排序算法。在这种情况下,如果不使用insert或任何其他内置方法,我不确定如何将元素插入到列表中。现在,如果他不允许insert,他一定是疯了,因为
insert
是人们用来操作
list
的高级API/方法。我认为Python语句的定义涉及到
换行符
终止。如果没有多个
换行符
,则不能有多个语句。你指的是“条件表达式”,只是一些术语:P,教授不是疯子。我认为,在您了解某些库功能的用途/它们如何使用的概述之前,不在语言中使用这些库功能是相当标准的。否则,您为什么要教授各种排序、算法和数据结构的实现,而不只是列出它们的各种运行时?