from jinja2 import Environment, Template

# カスタムフィルタを定義
def ljust_filter(value, width):
    return str(value).ljust(width)

# Jinja2環境を作成しフィルタを登録
env = Environment()
env.filters['ljust'] = ljust_filter

# テンプレート
template = env.from_string("""
potentials: {% for atom, potential in zip(atoms, potentials) %}
{{ atom | ljust(2) }}: {{ potential }}{% endfor %}
""")

# 2つのリストデータ
SCF_POTCAR_Atoms = ["H", "O", "N"]
SCF_POTCAR_PPs = ["hydrogen_potential", "oxygen_potential", "nitrogen_potential"]

# テンプレートをレンダリング
output = template.render(atoms=SCF_POTCAR_Atoms, potentials=SCF_POTCAR_PPs, zip=zip)
print(output)
