我是Python中最新的。集合中的迭代,不理解這種迭代的方式
我不明白爲什麼在代碼結果{9,4}第一個數字是9但不是4?從第一組迭代開始迭代 ?
{x*y for x in {1,2,3} for y in {2,3,4} if x == y}
{9, 4}
我是Python中最新的。集合中的迭代,不理解這種迭代的方式
我不明白爲什麼在代碼結果{9,4}第一個數字是9但不是4?從第一組迭代開始迭代 ?
{x*y for x in {1,2,3} for y in {2,3,4} if x == y}
{9, 4}
集合是無序的。集合中元素的順序由散列函數定義,而不是插入的順序。
結果是一組排序無關緊要。如果你使用列表運行相同的事情(用{]替換{}),那麼你會得到[4,9]。
雖然set是可迭代的,但它們有一個類似於'dicts'的任意順序 - 因爲兩者都基於散列值...如果你需要一個有序集合,那麼在Python文檔中有一個配方鏈接:http:// code.activestate.com/recipes/576694/ –