1. 程式人生 > 其它 >問題 | list(set(list))如何實現順序不變

問題 | list(set(list))如何實現順序不變

技術標籤:問題

# -*- coding: utf-8 -*-
from time import sleep

sentence = "我 就是 一段 小小 的 測試 文字 雖然 我 不是 很 重要 但是 沒有 我 你 可能 會 出錯"
for i in range(5):
    word2idx = {w: i for i, w in enumerate(list(set(sentence.split())))}
    print(word2idx)
    sleep(1)

當我第1次執行,結果如下:

注意:你的結果和我執行的結果可能是不一樣的!

當我第2次執行,結果如下:

每次執行的結果都不一樣,字典長度雖然沒有改變,但是順序變了!

有沒有什麼辦法能讓每次結果一樣?就像隨機數一樣,設定了隨機種子,別人使用這段程式碼,執行結果和我的一樣。