练习四十六:列表排序,删除list中重复的元素
方法一:使用集合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中重复的元素的更多相关文章
- 《剑指offer》第十八题(删除链表中重复的结点)
// 面试题18(二):删除链表中重复的结点 // 题目:在一个排序的链表中,如何删除重复的结点?例如,在图3.4(a)中重复 // 结点被删除之后,链表如图3.4(b)所示. #include &l ...
- js删除数组中重复的元素
1.方法一 将数组逐个搬到另一个数组中,当遇到重复元素时,不移动,若元素不重复则移动到新数组中 function unique(arr){ var len = arr.length; var resu ...
- 剑指offer四十六之孩子们的游戏(圆圈中最后剩下的数,约瑟夫环问题)
一.题目 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他随机指 ...
- 四十六、SAP的Message中E和W区别
一.如果写的是E,则报红色的信息,如图 效果如下 二.如果是写的是W,则报黄色的信息 效果如下
- 删除数组中重复的元素(JSON)
先上一个基础的: var a = [1,2,3,3,4]; var b = []; for (var i = 0; i < a.length; ++i) { if (b.indexOf(a[i] ...
- PHP删除数组中重复的元素
array_unique($arr): //删除重复元素 $arr = [1,2,3,0,1]; echo '<pre>'; var_dump($arr); $arr = array_un ...
- NeHe OpenGL教程 第四十六课:全屏反走样
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 四十六、android中的Bitmap
四十六.android中的Bitmap: http://www.cnblogs.com/linjiqin/archive/2011/12/28/2304940.html 四十七.实现调用Android ...
- Android简易实战教程--第四十六话《RecyclerView竖向和横向滚动》
Android5.X后,引入了RecyclerView,这个控件使用起来非常的方便,不但可以完成listView的效果,而且还可以实现ListView无法实现的效果.当然,在新能方便也做了大大的提高. ...
随机推荐
- SQL Server BCP 资料导入导出
SQL Server BCP 导入导出使用 Bcp 导出导入数据高效,比使用SQL Server Management Stdio 提供的数据库导出导入要高效因为sql server 也没有提供提供类 ...
- C#动态给EXCEL列添加下拉选项
Microsoft.Office.Interop.Excel.Application excel=new Microsoft.Office.Interop.Excel.Application(); M ...
- JSP编译指令
----------------siwuxie095 编译指令是通知 JSP 引擎的消息,其作用是设置 JSP 程序的属性, 以及由 JSP 生 ...
- Shrio00 Shiro认证登录、权限管理环境搭建
基础环境准备: JDK -> java version "1.8.0_101" MAVEN -> Apache Maven 3.5.0 1 导入依赖 mysql驱动 m ...
- BLAST在Windows系统中本地化
简介 NCBI除了提供在线的Web BLAST序列比对服务外,还提供FTP方式下载序列比对工具.这允许在本地平台上针对从NCBI下载或本地创建的数据库执行BLAST搜索.这些实用程序没有图形用户界面, ...
- Java引用的四种状态
强引用 用的最广,我们平时写代码时,new一个Object存放在堆内存,然后用一个引用指向它.它就是强引用. 如果一个对象具有强引用,那么垃圾回收期绝不会回收它,当内存空间不足,java虚拟机宁愿抛出 ...
- vim 设置TAB宽度、显示行号、自动缩进、自动换行宽度
一.vim ~/.vimrc 二.添加如下几行:(括号中的不是,是我添加的) set shiftwidth=4 (表示每一级缩进的长度)set softtabstop=4 ...
- Ubuntu常用命令集合
文件操作 查看当前目录: pwd 参考文章:https://blog.csdn.net/qq_33421080/article/details/76551554 应用编辑类 安装: sudo apt- ...
- python 关于时区
pytz提供了时区对象timezone 如果我们如此使用: tz = pytz.timezone('Asia/Shanghai') datetime.datetime(nYear, nMonth, n ...
- 树的直径+rmq+(伪)单调队列 -HDU4123
给定一棵n个点并且有边权的树,每个点的权值为该点能走的最远长度,并输入m个询问,每次询问最多有多少个编号连续的点,他们的最大最小点权差小于等于Q.N<=50000 M<=500 Q< ...