def clean_list(list_to_clean):
ord_dic = dict
import sys
major,minor,_,_,_ = sys.version_info
if major < 3 or major == 3 and minor < 7:
# dict not yet input ordered
from collections import OrderedDict
no_dubl_lst = OrderedDict(((type(a),a),None) for a in list_to_clean)
else:
# dict is input ordered by default
no_dubl_lst = dict(((type(a),a),None) for a in list_to_clean)
return list(b for _,b in no_dubl_lst.keys()) # only produce the actual data
print(clean_list([32, 32.1, 32.0, -32, 32, '32']))
生成:[32, 32.1, 32.0, -32, '32']
如果你是3.7 ,简单使用def clean_list(list_to_clean):
# dict is input ordered by default
no_dubl_lst = dict(((type(a),a),None) for a in list_to_clean)