Python 按键对嵌套的ansible字典排序

Python 按键对嵌套的ansible字典排序,python,ansible,Python,Ansible,我们有这样一项艰巨的任务 - name: Migrate Zookeeper settings zoo_import: version: "{{ item[0] }}" content: "{{ item[1] }}" with_items: "{{ zk_import | dictsort }}" zoo_导入模块需要sting版本和dict内容,我猜dictsort会生成元组列表 那么,如何将列表项传递给模块?最明显的变体内容:{{dict(item[1])}以“d

我们有这样一项艰巨的任务

- name: Migrate Zookeeper settings
  zoo_import:
    version: "{{ item[0] }}"
    content: "{{ item[1] }}"
  with_items: "{{ zk_import | dictsort }}"
zoo_导入模块需要sting版本和dict内容,我猜dictsort会生成元组列表

那么,如何将列表项传递给模块?最明显的变体内容:{{dict(item[1])}以“dictionary update sequence element#0的长度为1;需要2”结尾

谢谢

PS如果很重要,排序前的zk_导入字典如下

zk_import:
  v20200420:
    to_update:
      '/path1/key1/': 'value2'
      '/path2/key1/': 'other value'
    to_delete:
      '/path/key/': 'value2'
      '/path/key1/subkey': 'other value'
  v20200425:
      etc...

在Ansible>=2.5中,您应该使用
循环
,而不是
与\u项

loop: "{{ zk_import | dictsort }}"

在Ansible中,在Ansible>=2.5中,您应该使用
循环
,而不是使用
和\u项

loop: "{{ zk_import | dictsort }}"

在Ansible中,我不确定是否理解您的问题:您为
zoo\u import
模块的
内容
键提供的值是一个字典
dictsort
返回
(键,值)
元组,因此
item[0]
是键,
item[1]
是该键的值,它是一个字典,这似乎正是您想要的。我不确定我是否理解您的问题:您为
zoo\u import
模块的
content
键提供的值是字典
dictsort
返回
(键,值)
元组,因此
项[0]
是键,
项[1]
是该键的值,它是一个字典,似乎正是您想要的。
# This will run debug once with the three items
- debug:
    msg: "{{ item }}"   vars:
    nested_list:
      - - one
        - two
        - three   with_items:
    - "{{ nested_list }}"