python在第n个字符后添加到字符串

python在第n个字符后添加到字符串,python,python-2.7,Python,Python 2.7,可以在这么多字符后向字符串添加字符串吗?例如: 字符串1: 'I program' 字符串2: ' like to' 我想将字符串2添加到字符串1中,在2个字符之后,使行变为“我想编程”。对不起,我没有方向感,我只是找不到任何与这样做相关的东西 我能想到的唯一方法是将第一个字符串拆分为一个列表,然后使用列表和string2构造一个新字符串 list = string1.split() string3 = list[0] + string2 + list[1] 现在,这将起作用,但肯定有一种

可以在这么多字符后向字符串添加字符串吗?例如:

字符串1:

'I program'
字符串2:

' like to'
我想将字符串2添加到字符串1中,在2个字符之后,使行变为“我想编程”。对不起,我没有方向感,我只是找不到任何与这样做相关的东西

我能想到的唯一方法是将第一个字符串拆分为一个列表,然后使用列表和string2构造一个新字符串

list = string1.split()
string3 = list[0] + string2 + list[1]

现在,这将起作用,但肯定有一种更优雅的方法来实现这一点?

Python支持列表中的字符串,如索引。因此:

s = "I'm a little bit like a list"
s[0]
Out[7]: 'I'
s[-1]
Out[8]: 't'
s[6:16]
Out[14]: 'little bit'
因此:

s1 = 'I program'
s2 = ' like to'
s1[:1] + s2 + s1[1:]
Out[5]: 'I like to program'

感谢Tobias的编辑建议。

您可以在使用字符串时使用索引。 因此,如果要在字符串
s
n
字符后添加字符串
text
,可以使用:

result = s[:n] + text + s[n:]
但请记住,连接字符串加法
+
代价高昂。你可以用

result = ''.join([s[:n] , text , s[n:]])

对于更有效的解决方案,尤其是在添加大量字符串时,显示您尝试了什么?如上所述,我很抱歉没有方向,我甚至不知道从哪里开始,除了在字符串中添加一些内容之外,我在该领域的知识有限。字符串上的python文档似乎没有提到任何明显的内容。我认为唯一可行的方法是使用split函数将字符串转换为列表,然后使用列表和字符串重建字符串2@twigg插入字符串在概念上没有意义,因为字符串是不可变的。我认为你目前的方法很好-你也可以在列表中插入单个单词(
list.insert
确实存在),然后将它们全部重新连接在一起。或者干脆
s1[:1]+s2+s1[1://code>