公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!
小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。
废话不多说,开始今天的题目:
问:说说Python删除list里的重复元素有几种方法?
答:在Python中主要有5种方式,还没看答案,你能想起几种呢,面试笔试题经常碰到的一道题。
1、使用set函数
set是定义集合的,无序,非重复
#[1, 2, 3, 4, 5]numList = [1,1,2,3,4,5,4]print(list(set(numList)))
2、先把list重新排序,然后从list的最后开始扫描
del a[i]else:last= a[i]print(a) #[1, 2, 4, 5]a= [1, 2, 4, 2, 4, 5,]a.sort()last= a[-1]fori in range(len(a) - 2, -1, -1):iflast== a[i]:
3、使用字典函数
a=[1,2,4,2,4,]b={}b=b.fromkeys(a)c=list(b.keys())print(c) #[1, 2, 4]
4、append方式
L1 = []fori inL:ifi notinL1: L1.append(i)returnL1 print(delList([1, 2, 2, 3, 3, 4, 5])) #[1, 2, 3, 4, 5]defdelList(L):
5、count + remove方式
L.remove(i)returnL print(delList([1, 2, 2, 3, 3, 4]))#[1, 2, 3, 4]defdelList(L):fori inL:ifL.count(i) != 1:forx inrange((L.count(i) - 1)):
如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!
更多题目:
10、说说Python可变与不可变数据类型?
11、说说Python模块主要分哪三类?
12、列举Python中的标准异常类?
13、Python中深拷贝与浅拷贝的区别?
14、Python中迭代器和生成器的区别?
15、Python可迭代对象怎么获取迭代器?
16、你了解什么是 Python 之禅么?
17、说说Python字典以及基本操作?
18、说说Python有几种字符串格式化?
19、说说Python多线程与多进程的区别?
20、说说HTTP常见响应状态码?
21、Python 单引号、双引号、三引号区别?
22、说说Python中猴子补丁是什么?
23、说说Python中的垃圾回收机制?
24、Python中有几种交换两个变量的值?
25、说说Python中的6种位运算符?
26、说说Python中的类型转换有哪些?
27、Python中实现二分查找的2种方法?
28、说说Python中的lambda表达式?
29、说说Python中的反射是什么?
关注小猿公众号,每天学习一道题