拿 set() 來列舉實體,不保證每次列舉,都會得到相同序列 - tsungjung411/python-study GitHub Wiki
第一次測試:
程式碼
my_set = set(['A','B', 'C', 'D', 'E'])
my_list = list(my_set)
print('my_set:', my_set)
print('my_list:', my_list)
執行結果
my_set: {'D', 'B', 'A', 'C', 'E'}
my_list: ['D', 'B', 'A', 'C', 'E']
第二次測試:
程式碼
同上
執行結果,沒變
my_set: {'D', 'B', 'A', 'C', 'E'}
my_list: ['D', 'B', 'A', 'C', 'E']
重啟python,第三次測試:
程式碼
同上
執行結果,不一樣了!!
my_set: {'A', 'E', 'B', 'D', 'C'}
my_list: ['A', 'E', 'B', 'D', 'C']
每次重啟 Python,都會得到不一樣的結果
接續上面,變更字串記憶體位址
程式碼
my_set = set(['AAAAA'[0],'BBBBB'[1], 'CCCCC'[2], 'DDDDD'[3], 'EEEEE'[4]])
my_list = list(my_set)
print('my_set:', my_set)
print('my_list:', my_list)
執行結果,仍同第三次執行結果!!
my_set: {'A', 'E', 'B', 'D', 'C'}
my_list: ['A', 'E', 'B', 'D', 'C']
接續上面,變更字串記憶體位址
程式碼
my_set = set(['AAAAA'[0:2],'BBBBB'[1], 'CCCCC'[2], 'DDDDD'[3], 'EEEEE'[4]])
my_list = list(my_set)
print('my_set:', my_set)
print('my_list:', my_list)
執行結果,仍同第三次執行結果!!
my_set: {'C', 'AA', 'B', 'D', 'E'}
my_list: ['C', 'AA', 'B', 'D', 'E']
其他字母 'B', 'C', 'D', 'E' 順序又變了