OrderedDict将保留其有权访问的任何订单。传递有序数据以对其进行初始化的唯一方法是传递键值对的列表(或更普遍地讲,是可迭代的),如最后两个示例中所示。正如您链接的文档所述,当您传入关键字参数或dict参数时,OrderedDict无法访问任何顺序,因为其中的任何顺序都在OrderedDict构造函数看到之前被删除。
请注意,在上一个示例中使用列表推导并没有什么改变。OrderedDict([(i,i) for i in l])
和之间没有区别OrderedDict([('b', 'b'), ('a', 'a'), ('c', 'c'), ('aa', 'aa')])
。评估列表理解并创建列表,并将其传入;OrderedDict对它的创建方式一无所知。