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