方法一:使用集合set;将list直接转换为set

  1 a = [1,3,4,3,5,7]
2 a = list(set(a))
3 print(a)

执行结果:

[1, 3, 4, 5, 7]
方法二:直接排序,然后逐个比较,鉴于del会直接把元素删除,设置个flag数组来编辑该删除的元素(这个思路是看人家这么写的,有点麻烦,但是也是可以实现的,设置了标志位)
  1 namelist = ['Marry','Andy','Carol','Jack','Marry','Hanmeimei','Andy']
2 namelist.sort()
3 flag = []
4 for i in range(len(namelist)):
5 flag.append(0)
6 for x in range(len(namelist)):
7 for y in range(x+1,len(namelist)):
8 if namelist[x] == namelist[y]:
9 flag[y] = 1
10 break
11 for k in range(len(flag)-1,0,-1):
12 if flag[k] == 1:
13 del namelist[k]
14 print(flag)
15 print(namelist)
执行结果:
[0, 1, 0, 0, 0, 0, 1]
['Andy', 'Carol', 'Hanmeimei', 'Jack', 'Marry']

练习四十六:列表排序,删除list中重复的元素的更多相关文章

  1. 《剑指offer》第十八题(删除链表中重复的结点)

    // 面试题18(二):删除链表中重复的结点 // 题目:在一个排序的链表中,如何删除重复的结点?例如,在图3.4(a)中重复 // 结点被删除之后,链表如图3.4(b)所示. #include &l ...

  2. js删除数组中重复的元素

    1.方法一 将数组逐个搬到另一个数组中,当遇到重复元素时,不移动,若元素不重复则移动到新数组中 function unique(arr){ var len = arr.length; var resu ...

  3. 剑指offer四十六之孩子们的游戏(圆圈中最后剩下的数,约瑟夫环问题)

    一.题目 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指 ...

  4. 四十六、SAP的Message中E和W区别

    一.如果写的是E,则报红色的信息,如图 效果如下 二.如果是写的是W,则报黄色的信息 效果如下

  5. 删除数组中重复的元素(JSON)

    先上一个基础的: var a = [1,2,3,3,4]; var b = []; for (var i = 0; i < a.length; ++i) { if (b.indexOf(a[i] ...

  6. PHP删除数组中重复的元素

    array_unique($arr): //删除重复元素 $arr = [1,2,3,0,1]; echo '<pre>'; var_dump($arr); $arr = array_un ...

  7. NeHe OpenGL教程 第四十六课:全屏反走样

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  8. 四十六、android中的Bitmap

    四十六.android中的Bitmap: http://www.cnblogs.com/linjiqin/archive/2011/12/28/2304940.html 四十七.实现调用Android ...

  9. Android简易实战教程--第四十六话《RecyclerView竖向和横向滚动》

    Android5.X后,引入了RecyclerView,这个控件使用起来非常的方便,不但可以完成listView的效果,而且还可以实现ListView无法实现的效果.当然,在新能方便也做了大大的提高. ...

随机推荐

  1. SQL Server BCP 资料导入导出

    SQL Server BCP 导入导出使用 Bcp 导出导入数据高效,比使用SQL Server Management Stdio 提供的数据库导出导入要高效因为sql server 也没有提供提供类 ...

  2. C#动态给EXCEL列添加下拉选项

    Microsoft.Office.Interop.Excel.Application excel=new Microsoft.Office.Interop.Excel.Application(); M ...

  3. JSP编译指令

    ----------------siwuxie095                             编译指令是通知 JSP 引擎的消息,其作用是设置 JSP 程序的属性, 以及由 JSP 生 ...

  4. Shrio00 Shiro认证登录、权限管理环境搭建

    基础环境准备: JDK -> java version "1.8.0_101" MAVEN -> Apache Maven 3.5.0 1 导入依赖 mysql驱动 m ...

  5. BLAST在Windows系统中本地化

    简介 NCBI除了提供在线的Web BLAST序列比对服务外,还提供FTP方式下载序列比对工具.这允许在本地平台上针对从NCBI下载或本地创建的数据库执行BLAST搜索.这些实用程序没有图形用户界面, ...

  6. Java引用的四种状态

    强引用 用的最广,我们平时写代码时,new一个Object存放在堆内存,然后用一个引用指向它.它就是强引用. 如果一个对象具有强引用,那么垃圾回收期绝不会回收它,当内存空间不足,java虚拟机宁愿抛出 ...

  7. vim 设置TAB宽度、显示行号、自动缩进、自动换行宽度

    一.vim  ~/.vimrc 二.添加如下几行:(括号中的不是,是我添加的) set shiftwidth=4          (表示每一级缩进的长度)set softtabstop=4     ...

  8. Ubuntu常用命令集合

    文件操作 查看当前目录: pwd 参考文章:https://blog.csdn.net/qq_33421080/article/details/76551554 应用编辑类 安装: sudo apt- ...

  9. python 关于时区

    pytz提供了时区对象timezone 如果我们如此使用: tz = pytz.timezone('Asia/Shanghai') datetime.datetime(nYear, nMonth, n ...

  10. 树的直径+rmq+(伪)单调队列 -HDU4123

    给定一棵n个点并且有边权的树,每个点的权值为该点能走的最远长度,并输入m个询问,每次询问最多有多少个编号连续的点,他们的最大最小点权差小于等于Q.N<=50000 M<=500 Q< ...