python中去除列表重复元素的方法汇总

NO.1 set

输入代码


A = ['a','b','X','a','b','G']
B = list(set(A))
print A
print B
 
  • 1
  • 2
  • 3
  • 4

显示如下

['a', 'b', 'X', 'a', 'b', 'G']
['a', 'X', 'b', 'G']
 
  • 1
  • 2

NO.2 发现上面虽然去掉了重复的元素,但顺序改变了,要是不想改变原列表的顺序A,应该这样做

输入1如下

A = ['a','b','X','a','b','G']
B = list(set(A))
B.sort(key=A.index)
print A
print B
 
  • 1
  • 2
  • 3
  • 4
  • 5

输入2如下

A = ['a','b','X','a','b','G']
B = sorted(set(A),key=A.index)
print A
print B

 
  • 1
  • 2
  • 3
  • 4
  • 5

上述所有结果如下,结果按原列表顺序.


['a', 'b', 'X', 'a', 'b', 'G']
['a', 'b', 'X', 'G']
 
  • 1
  • 2

当然也可遍历,因为比较简单,这里不再多说


NO .3

A = ['a','b','X','a','b','G']
B = {}.fromkeys(A).keys()
print A
print B
 
  • 1
  • 2
  • 3
  • 4

结果如下,不是按原列表顺序

['a', 'b', 'X', 'a', 'b', 'G']
['a', 'X', 'b', 'G']
 
  • 1
  • 2

上述多种方法,究竟怎么选择,用哪种好呢?It is up to you!




转载自:http://blog.csdn.net/yywan1314520/article/details/50557995

posted @ 2017-12-06 09:20  banlucainiao  阅读(38)  评论(0)    收藏  举报