使用Ansible的flatten
过滤器可以将多层列表展平。以下是一个示例代码:
- name: Flatten nested list
hosts: localhost
gather_facts: false
vars:
nested_list:
- [1, 2, 3]
- [4, [5, 6], 7]
- [[8, 9], [10, 11]]
tasks:
- name: Flatten nested list
debug:
msg: "{{ nested_list | flatten }}"
在上面的示例中,我们定义了一个名为nested_list
的变量,它包含了多层列表。然后,我们使用flatten
过滤器对nested_list
进行展平操作,并通过debug
模块输出结果。
运行以上代码,将输出展平后的列表:
TASK [Flatten nested list] **************************************************
ok: [localhost] => {
"msg": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11
]
}
可以看到,多层列表已经成功展平为一个一维列表。