Python中的set是一種無(wú)序的數(shù)據(jù)類型,它可以存儲(chǔ)不重復(fù)的元素。在Python3.7以后的版本中,set變得有序了,也就是說(shuō),當(dāng)我們對(duì)set進(jìn)行迭代時(shí),元素的順序是可以保證的。
# 創(chuàng)建一個(gè)有序的set s = {'apple', 'banana', 'orange'} print(s) # 輸出: {'apple', 'banana', 'orange'} # 添加一個(gè)元素 s.add('watermelon') print(s) # 輸出: {'apple', 'banana', 'orange', 'watermelon'} # 刪除一個(gè)元素 s.remove('banana') print(s) # 輸出: {'apple', 'orange', 'watermelon'} # 迭代set for item in s: print(item) # 輸出: # apple # orange # watermelon
上面的代碼中,我們首先創(chuàng)建了一個(gè)set,并向其中添加了一個(gè)元素和刪除了一個(gè)元素。在迭代這個(gè)set時(shí),可以看到元素的順序是有序的。
需要注意的是,set是一種無(wú)序的數(shù)據(jù)類型,所以它并不保證迭代時(shí)元素的順序一定會(huì)是一樣的。如果我們需要以一定的順序來(lái)迭代set中的元素,我們可以使用sorted()函數(shù)。
# 創(chuàng)建一個(gè)有序的set s = {'apple', 'banana', 'orange'} print(s) # 輸出: {'apple', 'banana', 'orange'} # 使用sorted()函數(shù)迭代set for item in sorted(s): print(item) # 輸出: # apple # banana # orange
上面的代碼中,我們使用sorted()函數(shù)對(duì)set進(jìn)行了排序,然后在迭代時(shí)輸出了元素。
總的來(lái)說(shuō),在Python3.7以后版本中,set已經(jīng)變得有序了,我們可以在迭代set時(shí)保證元素的順序是一樣的。需要注意的是,如果我們需要排序set中的元素,可以使用sorted()函數(shù)。