python的問(wèn)題 去除list中重復(fù)的元素
如果想要去除list中重復(fù)的元素,大致有下面三種方法.
可以根據(jù)實(shí)際需要去選擇.

一.
可以利用字典:
要去重的list是A
A=?[1, 3,?3,?1,?1,?1,?7,?9,?5]
創(chuàng)建一個(gè)空的字典B
B =?{}
#?利用fromnkeys方法,為空的字典B創(chuàng)建鍵值,
# (因?yàn)樽值涞逆I值是不能重復(fù)的,所以這里會(huì)自動(dòng)進(jìn)行去重)
B =?B.fromkeys(A)
print(B)?
?#?輸出?{1:?None,?3:?None,?7:?None,?9:?None,?5:?None}
?#?如果想要得到list,那么可以調(diào)用list方法
?C=?list(B.keys())
?print(C)?
?# 輸出?[1,?3,?7,?9,?5]

二.
利用集合的方式去重:
A=?[1, 3,?3,?1,?1,?1,?7,?9,?5]
B=set(A)
print(B)
?#?輸出?[1,?3,?7,?9,?5]

三.
自己編寫(xiě)邏輯:
A=?[1, 3,?3,?1,?1,?1,?7,?9,?5]
B=[]
for i in A:
? ? if i not in B:
? ? ? ? B.append(i)
print(B)
?#?輸出?[1,?3,?7,?9,?5]

總結(jié):
這里去重后輸出的元素順序是和序列A中出現(xiàn)的先后順序一致的.
標(biāo)簽: