前提・実現したいこと
Pythonを使ってテキストを自動で作成するプログラムを作っています。
様々なテキストに対応出来るように拡張性があるものにしたいのですがFormatメソッドの箇所で躓いています。
躓いている問題
リストの内容がn個あったとして
list = ["あ","い","う",...,"n"]
テキストのプレースホルダーもリストの内容と同じ個数があるとします。
str = "{0}{1}{2}...{n}"
この時
str.format(list[0],list[1],list[2]...list[n])
リストと{}の数が100,200とある時に{}の中をリストの内容にをしたいのですが、formatの中をまとめて処理する方法は無いでしょうか?
試したこと
(1)format()の中にリストをそのまま入れれば、動作するかと思い試したのですが、これではレンジエラーになりました。
(2)forループでリストの内容を順番に入れ替える方法を試しましたが、上記と同様のエラーが発生しました。
(1)の試したコードを記載します。(2)のコードは保存していませんでした。すみません
var = ["apple", "melon"] str = "{0}と{1}" txt = str.format(var) print(txt)
エラー内容
--------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-100-9e03f0fa9424> in <module> 2 str = "{0}と{1}" 3 ----> 4 txt = str.format(var) 5 6 print(txt) IndexError: Replacement index 1 out of range for positional args tuple
こういった方法の具体的な名称などがわからず、なんと調べればいいか分かりません、解決策か参考になるサイト等を教えていただけるとありがたいです。
補足情報(FW/ツールのバージョンなど)
OS:Windows 10 pro
Python3:ver3.8.8
Jupyter Lab:ver3.0.14
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/09/05 12:16