Comment puis-je ajouter à chaque élément dans une liste de chaînes de caractères?

J'ai une liste de chaînes de caractères contenant des adresses IP. Je veux ajouter un numéro de port pour chacune d'entre elles. En python, je voudrais faire quelque chose comme ceci:

ip_list = [(ip + ":" + port) for ip in ip_list]

...mais Jinja ne supporte pas les interprétations de la liste. Pour le moment je suis kludging le problème par la construction d'une nouvelle liste à un seul élément à la fois:

{%- set ip_list = magic() %}
{%- set new_ip_list = [] %}
{%- for ip in ip_list %}
  {%- do new_ip_list.append(ip + ":" + port) %}
{%- endfor %}

C'est laid et irritant dans le milieu d'un modèle, et il se sent comme il devrait vraiment être une meilleure façon de faire le travail. De préférence, un one-liner.

Même si je sais que cela peut être fait avec des filtres personnalisés, je suis en fournissant un modèle de logiciel je n'ai pas écrit (saltstack), de sorte qu'ils sont (autant que je sache) pas disponible pour moi.

OriginalL'auteur Andrew | 2015-11-09