3 回答

TA貢獻1871條經驗 獲得超13個贊
可以使用內置功能對列表進行排序和重復數據刪除:
myList = sorted(set(myList))
set 是Python> = 2.3的內置函數
sorted 是Python> = 2.4的內置函數

TA貢獻1816條經驗 獲得超4個贊
如果要保持原始列表的順序,只需使用OrderedDict與None作為值。
在Python2中:
from collections import OrderedDict
from itertools import izip, repeat
unique_list = list(OrderedDict(izip(my_list, repeat(None))))
在Python3中,它甚至更簡單:
from collections import OrderedDict
from itertools import repeat
unique_list = list(OrderedDict(zip(my_list, repeat(None))))
如果您不喜歡迭代器(壓縮和重復),則可以使用生成器(在2和3中均可使用):
from collections import OrderedDict
unique_list = list(OrderedDict((element, None) for element in my_list))
添加回答
舉報