0
点赞
收藏
分享

微信扫一扫

python 数组去重复

Villagers 2022-07-12 阅读 69


方法1 创建新的数组

ids = [1,2,3,4,5,6,7,8,1,2,3]
set_ids = []
for id in ids:
if id not in set_ids:
set_ids.append(id)
print set_ids
# 1 2 3 4 5 6 7 8

# 或者可以直接使用set,无法保持原有顺序
set_ids=set(ids )

方法2 set

ids = [1,2,3,4,5,6,7,8,1,2,3]
ids = list(set(ids))
# 1 2 3 4 5 6 7 8

方法3 利用lambda匿名函数和 reduce 函数处理

ids = [1,2,3,4,5,6,7,8,1,2,3]
func = lambda x,y:x if y in x else x + [y]
reduce(func, [[], ] + ids)

方法4 使用itertools模块

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

方法5 while遍历去重

ids = [1,2,3,4,5,6,7,8,1,2,3]
def delRepeat(ids):
for x in ids:
while ids.count(x)>1:
del ids[ids.index(x)]
return


举报

相关推荐

0 条评论