Python 3.7+中用大括号创建的字典是否能保持插入顺序?
Python 3.7+ 大括号创建字典的插入顺序问题
在Python 3.7及后续版本中,无论使用dict()构造函数、大括号{}字面量还是字典推导式创建字典,都会严格保留键的插入顺序,你给出的代码里的断言会始终通过。
官方文档依据
Python官方文档明确规定:
从Python 3.7开始,字典的插入顺序被正式纳入语言规范,不再是特定实现(如CPython)的细节。所有字典创建方式——包括
{}字面量声明、dict()构造函数初始化、字典推导式生成——都会遵循插入顺序保留规则。
代码验证说明
你提供的代码使用了字典推导式{key: "" for key in keys},这属于标准的字典创建方式,生成的test_dict的键顺序会完全匹配keys列表的遍历顺序,因此assert keys == list(test_dict.keys())的断言必然会通过,不会出现顺序不一致的情况。
内容的提问来源于stack exchange,提问作者pml
相关产品推荐
相关产品推荐

