我刚刚开始学习python集合的理解。为什么{ 2**x for x in {0,1,2,3,4} }返回{8, 1, 2, 4, 16}而不是已排序的{1, 2, 4, 8, 16}
发布于 2013-07-17 20:15:30
从数学上讲,集合没有顺序。当显示或迭代一个集合时,Python显然需要提供一个特定的顺序,但这个顺序是任意的,不能依赖。但是,对于特定的集合,顺序是固定的;在相同的、未修改的集合上迭代,每次都会产生相同的顺序。
https://stackoverflow.com/questions/17699332
复制相似问题