集合中的迭代,不理解这种迭代的方式

时间:2013-07-21 15:39:39

标签: python

我是最新的Python。

我不明白为什么代码的结果 {9,4} 第一个数字是9而不是4? 迭代从第一组开始?

{x*y for x in {1,2,3} for y in {2,3,4} if x == y}
{9, 4}

2 个答案:

答案 0 :(得分:4)

结果是一组,所以排序无关紧要。如果你使用列表运行相同的东西(用{]替换{})那么你会得到[4,9]。

答案 1 :(得分:3)

集合是无序的。集合中元素的顺序由散列函数定义,而不是插入顺序。