PyYAML - 是否保留了列表的顺序?

时间:2015-10-14 13:01:33

标签: python-2.7 yaml pyyaml

在包含列表的文件路径中使用以下YAML文件:

nodes:
    - first
    - second
    - third

使用pyyaml读取此文件时,

config = yaml.load(file(filepath, 'r'))

是否始终保留列表的顺序?
换句话说,是否保证 config ['节点'] [0] 始终是'首先'

1 个答案:

答案 0 :(得分:1)

是的,保留了序列的顺序。在YAML a sequence(映射到python列表)中:

  

表示由零开始的连续整数索引的集合。绑定到本机类型的示例包括Perl的数组,Python的列表或元组,以及Java的数组或Vector。

YAML中未保留的内容通常是映射中键的顺序(尽管当然有这种映射的任何序列化形式的顺序),并且这种映射通常以python dicts的形式读入,它们没有排序在他们的钥匙中。