2017-04-17 17 views
1

Python beginner here、これは間違った質問です。Python 3で複数の文字列に文字を追加する

私は長い文字列を持っているので、文字列の特定の領域に文字を追加する必要があります。たとえば、| a |文字番号23、912、および1200の後に表示されます。これはAdd string in a certain position in Pythonですが、1文字の追加にのみ使用できます。

解決策は、3回だけでなく、拡張可能である必要があります。私が作っているコードは、私がキャラクターをしたい場所とは別の場所をたくさん持つことができます。

答えて

1

投稿したリンクを参考にして、Add string in a certain position in Python; 異なる値で操作を繰り返す場合は、|文字を挿入するすべてのインデックス位置を含むリストを作成することができます。例えば 、

>>> l = [1, 3, 4] 
>>> s = "abcdef" 
>>> for i in l: 
>>>  s = s[:i] + "|" + s[i:] # as suggested in your link 
>>> s 
'a|b||cdef' 

は、これは、あなたがリストに提供値のセットのためのプロセスを繰り返すことができます。また、この方法が不十分であれば説明できる、これを支援する関数を定義することもできます。

ただし、現在の繰り返しに対して文字が挿入されることに注意してください。つまり、この例では、位置1に|を追加した後、次の挿入位置3は、最初の挿入前の位置とは異なります。実行された挿入の数ですべてのインデックス位置をオフセットするカウンタ変数を含めることで(初期リストの順序が必要です)、これを回避できます(必要な場合)。

+0

ありがとうございました!これは間違った質問かもしれませんが、どのように機能しますか?私は何をするのか混乱している。申し訳ありませんが、これがばかげた質問であれば、私は初心者です。 –

+0

問題はありません、私はあなたよりもはるかに経験がありません! 私は 'for i in l:'の行について混乱していると思います。これが行うのは、リストから各要素(これを 'i'と呼ぶ)を取り出し、その要素に対して操作を実行することです。 print(animal) ' これは、cat、次にrabbit、そして次にrabbitを出力するでしょう。例えば、' list = ["cat"、 "rabbit"、 "dinosaur"] '、そして '恐竜。これが意味をなさないことを願っています。これはhttps://www.tutorialspoint.com/python/python_for_loop.htmをさらに助けるかもしれません。 – Windmill

1

のpythonであまりよくありませんが、私はあなたがに行ってきましたそのサイトによると を助けることを願って、あなたが問題を解決するために、whileループを作ることができます

コードは、この

def insert_dash(string, index, addin): 
    return string[:index] + addin + string[index:] 
alldone = False 
string = input("String: ") 
index = " " 
while index: 
    index = input("Index: ") 
    addin = input("Add into: ") 
    string = insert_dash(string, index, addin) 
ようになるはずです

お手伝い願います!

PS:コードを試していませんが、動作すると思いますが、

関連する問題