使用此代码:
print set(a**b for a in range(2, 5) for b in range(2, 5))
Run Code Online (Sandbox Code Playgroud)
我得到了这个答案:
set([64, 256, 4, 8, 9, 16, 81, 27])
Run Code Online (Sandbox Code Playgroud)
为什么没有排序?
集合不是python或任何其他语言的有序集合.
通常使用散列键(哈希码)来实现集合.因此,顺序可能与如何使用散列函数而不是其元素的自然顺序有关.
如果您需要订购,请考虑使用清单.