博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 列表去重(数组)的几种方法
阅读量:4879 次
发布时间:2019-06-11

本文共 787 字,大约阅读时间需要 2 分钟。

一、方法1

 代码如下 复制代码

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

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

二、方法2

通过set方法进行处理

 代码如下 复制代码

ids = [1,4,3,3,4,2,3,4,5,6,1]

ids = list(set(ids))

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

三、方法3

利用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

使用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

五、无法保持原有顺序

 代码如下 复制代码

liebiao=set(liebiao)

六、while遍历去重

 代码如下 复制代码

def delRepeat(liebiao):

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

转载于:https://www.cnblogs.com/zknublx/p/6042295.html

你可能感兴趣的文章
223. Rectangle Area
查看>>
spring boot + velocity中文乱码解决方式
查看>>
世锦赛7金MVP德雷塞尔真能接班菲鱼?同期成就不及1/5!
查看>>
读罢泪两行,人生成长必须面对的10个残酷事实
查看>>
ASP 32位程序运行与64位问题:ADODB.Connection 错误 '800a0ea9' 未指定提供程序,也没有指派的默认提供程序。...
查看>>
xcode-git笔记
查看>>
TCP和UDP的优缺点及区别
查看>>
MATLAB消除曲线毛刺Outlier Detection and Removal [hampel]
查看>>
JavaScript 正则表达式
查看>>
MySQL数据库安装和基本使用
查看>>
CSocket客户端(TCP)
查看>>
Unity Navigation自动寻路
查看>>
MySQL DATE_SUB() 函数
查看>>
在SSH框架下按条件分页查询
查看>>
jquery选择器
查看>>
常见MIME类型
查看>>
luoguP2742 二维凸包 / 圈奶牛Fencing the Cows
查看>>
hdu3721: Building Roads(求树的中心,直径)
查看>>
实训作业2
查看>>
【javascript学习——《javascript高级程序设计》笔记】DOM操作
查看>>