1

これは私がこれまでに持っているものです。宿題用です。スライスは使用できません。私はそれを理解できないようです。

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単一の文字列に結合されていません。

4

1 に答える 1

3

線に注意してください

"".join(s3)     
return s3

join のドキュメントを見ると、 join がその引数を変更するのではなく、引数リストの内容をすべて結合した文字列を生成することがわかります。だからあなたはの結果を捨てています

"".join(s3)

s3代わりに (リスト)を返します。したがって、最後の 2 行を次のように変更する必要があります。

return ''.join(s3)

これは宿題なので、残りのコードについてはコメントしませんが、join 呼び出しの結果を返すことは確かに役に立ちます。

于 2012-04-14T00:35:56.897 に答える