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

Woj*_*aCz 4 yaml pyyaml python-2.7

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

nodes:
    - first
    - second
    - third
Run Code Online (Sandbox Code Playgroud)

当用 pyyaml 读取这个文件时,

config = yaml.load(file(filepath, 'r'))
Run Code Online (Sandbox Code Playgroud)

列表的顺序是否始终保留?
换句话说,是否保证config['nodes'][0]'first'始终为真?

Ant*_*hon 5

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

\n\n
\n

表示由从零开始的连续整数索引的集合。绑定到本机类型的示例包括 Perl\xe2\x80\x99s 数组、Python\xe2\x80\x99s 列表或元组以及 Java\xe2\x80\x99s 数组或向量。

\n
\n\n

YAML 中通常不保留映射中键的顺序(尽管此类映射的任何序列化形式当然都存在顺序),并且此类映射通常作为 python 字典读取,其键中没有顺序任何一个。

\n