在Ansible中如何将列表转换为整数?问题求助
解决Ansible中将字符串列表转为整数列表的问题
你遇到的问题是因为int过滤器只能处理单个字符串值,直接作用在整个列表上会被判定为无效输入,返回默认的0。要把列表里的每个字符串元素都转换成整数,需要用map过滤器遍历列表,对每个元素单独应用int转换,最后再转回列表格式。
正确代码示例
- debug: msg: "{{ application_list | map('int') | list }}"
对应输出
ok: [ebppdoxs10] => { "msg": [ 1674142504, 1674138844 ] }
可选:处理非数字元素
如果列表中可能存在无法转为整数的元素,可以添加默认值避免报错,比如:
- debug: msg: "{{ application_list | map('int', default=0) | list }}"
这样遇到非数字字符串时,会将其转为0,而不是抛出错误。
内容的提问来源于stack exchange,提问作者swapnali salokhe
相关产品推荐
相关产品推荐

