【发布时间】:2020-08-08 03:24:12
【问题描述】:
我有一个字符串 s= 'aaeekmnnry' 和另一个字符串 p = 'aka'。我想在 s 的第二个索引处插入 p,这样我的输出是 ans = 'aaakaeekmnrry'。为此,我编写了以下代码:
f = p[0]
i = 0
while i < len(s):
if p[0] <= s[i]:
i+=1
else:
break
ans = ''.join(s[:i]) + ''.join(p) + ''.join(s[i:])
但是我的索引i 变成了字符串的长度,输出是'aaeekmnnryaka',我期待i 变成2。我做错了什么?
【问题讨论】:
-
您似乎有 2 个不同的标准,描述中的“第二个索引”,但您正在代码中进行比较
if p[0] <= s[i]:,就好像您试图在大于的第一个字符处插入 p p[0]。那么,它是什么? -
实际上,我想将
p放在索引处,这样p的第一个字符就在字典上大于s 的插入位置。你能帮帮我吗? -
知道了。顺便说一句,我认为那是
ans = 'aaakaeekmnnry'(两个 n 的一个 r) -
仅供参考,
'a'小于或等于s中的所有字符。 -
哦,我明白了,对不起。我已经更正了代码
标签: python string string-comparison