Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ansible中连接嵌套列表的元素_Ansible_Jinja2 - Fatal编程技术网

在Ansible中连接嵌套列表的元素

在Ansible中连接嵌套列表的元素,ansible,jinja2,Ansible,Jinja2,我有一个嵌套列表str,如下所示: [["22","ABC","XYZ"],["555","IJK","PQR"],...] 我必须将内部列表中的元素与/组合,然后将它们与,连接,形成一个字符串,如下所示: 22/ABC/XYZ,555/IJK/PQR,... 我试过使用set\u fact和金甲2,但运气不好 - set_fact: str1: |-

我有一个嵌套列表
str
,如下所示:

[["22","ABC","XYZ"],["555","IJK","PQR"],...] 
我必须将内部列表中的元素与
/
组合,然后将它们与
连接,形成一个字符串,如下所示:

22/ABC/XYZ,555/IJK/PQR,...
我试过使用
set\u fact
和金甲2,但运气不好

- set_fact:
     str1: |-
       {%- set fs = "" -%}
       {%- set im = "" -%}
       {%- for i in str -%}
         {%- for elem in i -%}
           {%- set im = im + "/" + elem -%}
         {%- endfor -%}
         {%- set fs = fs + "," + im -%}
       {%- endfor -%}
       {{ fs }}
- debug: var=str1      
输出:

TASK [debug var=str1] **********************************
ok: [host1] => {
    "str1": "" 
预期产出:

TASK [debug var=str1] **********************************
ok: [host1] => {
    "str1": "22/ABC/XYZ,555/IJK/PQR" 

感谢使用
wiht_list
创建一个var,其中包含与
/
连接的项目列表,然后与
连接

-设置事实:
str1:{{str1 | default([])+[item | join('/')]}
带_列表:“{{str}}”
-调试:
msg:{{str1 | join(',')}”

使用
wiht_list
创建一个var,该var包含一个与
/
连接的项目列表,然后与
连接

-设置事实:
str1:{{str1 | default([])+[item | join('/')]}
带_列表:“{{str}}”
-调试:
msg:{{str1 | join(',')}”
首先将筛选器联接(/)映射到列表的项目,然后联接(,)它们

-设置事实:
str1:{{str | map('join','/')| join('',')}”
-调试:var=str1
给予

str1:22/ABC/XYZ,555/IJK/PQR 首先将筛选器联接(/)映射到列表的项目,然后联接(,)它们

-设置事实:
str1:{{str | map('join','/')| join('',')}”
-调试:var=str1
给予

str1:22/ABC/XYZ,555/IJK/PQR
谢谢你,加里。这也很有效!谢谢你,加里。这也很有效!这么短,工作起来很有魅力!谢谢你。这么短,很有魅力!非常感谢。