python 列表去重(数组)的几种方法

1、方法1app

 代码以下 复制代码

ids = [1,2,3,3,4,2,3,4,5,6,1]
news_ids = []
for id in ids:
    if id not in news_ids:
        news_ids.append(id)
print news_ids函数

思路看起来比较清晰简单 ,也能够保持以前的排列顺序。spa

2、方法2ci

经过set方法进行处理it

 代码以下 复制代码

ids = [1,4,3,3,4,2,3,4,5,6,1]
ids = list(set(ids))table

处理起来比较简单,使用了集合方法set进行处理,不过结果不会保留以前的顺序。class

3、方法3import

利用lambda匿名函数和 reduce 函数处理匿名函数

 代码以下 复制代码
ids = [1,4,3,3,4,2,3,4,5,6,1]
func = lambda x,y:x if y in x else x + [y]
reduce(func, [[], ] + ids)

4、方法4lambda

使用itertools模块

 代码以下 复制代码

import itertools
ids = [1,4,3,3,4,2,3,4,5,6,1]
ids.sort()
it = itertools.groupby(ids)
for k, g in it:
    print k

5、没法保持原有顺序

 代码以下 复制代码

liebiao=set(liebiao)

6、while遍历去重

 代码以下 复制代码

def delRepeat(liebiao):  for x in liebiao:   while liebiao.count(x)>1:    del liebiao[liebiao.index(x)]  return liebiao

相关文章
相关标签/搜索