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

yipeiwu_com6年前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 Pandas分组聚合的实现方法

Pycharm 鼠标移动到函数上,CTRL+Q可以快速查看文档,CTR+P可以看基本的参数。 apply(),applymap()和map() apply()和applymap()是Da...

Python的Django应用程序解决AJAX跨域访问问题的方法

引子 使用Django在服务器端写了一个API,返回一个JSON数据。使用Ajax调用该API: <!DOCTYPE HTML> <html> <he...

5款Python程序员高频使用开发工具推荐

5款Python程序员高频使用开发工具推荐

很多Python学习者想必都会有如下感悟:最开始学习Python的时候,因为没有去探索好用的工具,吃了很多苦头。后来工作中深刻体会到,合理使用开发的工具的便利和高效。今天,我就把Pyth...

Django 查询数据库并返回页面的例子

views.py 视图文件 message = None all_message = UserMessage.objects.filter(name='测试2') if...

在Python运行时动态查看进程内部信息的方法

接前两篇“运行时查看线程信息”的博客,我在想,既然我可以随时打印线程信息,那么我是不是可以随时打印进程内部的其它信息呢?比如,实时查看一些对象属性等,这样可以帮助我们在不重新启动应用程序...