公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!
小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。
废话不多说,开始今天的题目:
问:说说Python删除list里的重复元素有几种方法?
答:在Python中主要有5种方式,还没看答案,你能想起几种呢,面试笔试题经常碰到的一道题 。
1、使用set函数
set是定义集合的,无序,非重复
numList = [1,1,2,3,4,5,4]print(list(set(numList)))
#[1, 2, 3, 4, 5]
2、先把list重新排序,然后从list的最后开始扫描
a = [1, 2, 4, 2, 4, 5,]a.sort()last = a[-1]for i in range(len(a) - 2, -1, -1):if last == a[i]:
del a[i]else:last = a[i]print(a) #[1, 2, 4, 5]
3、使用字典函数
a=[1,2,4,2,4,]b={}b=b.fromkeys(a)c=list(b.keys())print(c) #[1, 2, 4]
4、append方式
def delList(L):
L1 = []for i in L:if i not in L1:
L1.append(i)return L1
print(delList([1, 2, 2, 3, 3, 4, 5])) #[1, 2, 3, 4, 5]
5、count + remove方式
def delList(L):for i in L:if L.count(i) != 1:for x in range((L.count(i) - 1)):
L.remove(i)return L
print(delList([1, 2, 2, 3, 3, 4]))#[1, 2, 3, 4]
如果对于参考答案有不认同的,大家可以在评论区指出和补充,欢迎留言!
更多题目:
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中的反射是什么?
关注小猿公众号,每天学习一道题