Python实现去除列表中重复元素的方法小结【4种方法】

yipeiwu_com7年前Python基础

本文实例讲述了Python实现去除列表中重复元素的方法。分享给大家供大家参考,具体如下:

这里一共使用了四种方法来去除列表中的重复元素,下面是具体实现:

#!usr/bin/env python
#encoding:utf-8
'''
__Author__:沂水寒城
功能:去除列表中的重复元素
'''
def func1(one_list):
  '''''
  使用集合,个人最常用
  '''
  return list(set(one_list))
def func2(one_list):
  '''''
  使用字典的方式
  '''
  return {}.fromkeys(one_list).keys()
def func3(one_list):
  '''''
  使用列表推导的方式
  '''
  temp_list=[]
  for one in one_list:
    if one not in temp_list:
      temp_list.append(one)
  return temp_list
def func4(one_list):
  '''''
  使用排序的方法
  '''
  result_list=[]
  temp_list=sorted(one_list)
  i=0
  while i<len(temp_list):
    if temp_list[i] not in result_list:
      result_list.append(temp_list[i])
    else:
      i+=1
  return result_list
if __name__ == '__main__':
  one_list=[56,7,4,23,56,9,0,56,12,3,56,34,45,5,6,56]
  print "【听图阁-专注于Python设计】测试结果:"
  print func1(one_list)
  print func2(one_list)
  print func3(one_list)
  print func4(one_list)

结果如下:

【听图阁-专注于Python设计】测试结果:
[0, 34, 3, 4, 5, 6, 7, 9, 12, 45, 23, 56]
[0, 34, 3, 4, 5, 6, 7, 9, 12, 45, 23, 56]
[56, 7, 4, 23, 9, 0, 12, 3, 34, 45, 5, 6]
[0, 3, 4, 5, 6, 7, 9, 12, 23, 34, 45, 56]

运行结果截图:

PS:本站还有两款比较简单实用的在线文本去重复工具,推荐给大家使用:

在线去除重复项工具:
http://tools.jb51.net/code/quchong

在线文本去重复工具:
http://tools.jb51.net/aideddesign/txt_quchong

更多关于Python相关内容可查看本站专题:《Python字典操作技巧汇总》、《Python字符串操作技巧汇总》、《Python常用遍历技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python 类的特殊成员解析

类的成员有两种形式 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能方法,私有成员命名时,前两个字符是下划线。 class Foo: def __init__(self...

详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)

详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)

一:图形界面安装 1、打开Anconda 2、点击Environment 3、 将Installed点击为Not installed 4、 搜索django,勾选django之后点击绿...

python 捕获 shell/bash 脚本的输出结果实例

#!/usr/bin/python ## get subprocess module import subprocess   ## call date command ##...

Python绘制二维曲线的日常应用详解

Python绘制二维曲线的日常应用详解

使用Python绘制出类似Excel或者MATLAB的曲线还是比较容易就能够实现的,需要用到的额外库有两个,numpy和matplotlib。使用这两个模块实现的曲线绘制其实在一定程度上...

用Python生成器实现微线程编程的教程

微线程领域(至少在 Python 中)一直都是 Stackless Python 才能涉及的特殊增强部分。关于 Stackless 的话题以及最近它经历的变化,可能本身就值得开辟一个专栏...