编程语言
首页 > 编程语言> > 测试面试题集-Python列表去重

测试面试题集-Python列表去重

作者:互联网


请定义函数,将列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]中的重复元素除去,写出至少3种方法。




# !/usr/bin/python3# -*- coding:utf-8 -*-# @Time:2019/12/10  07:00# @微信公众号:ITester软件测试小栈# @Author:coco# @Python交流群:604469740# @Email:3593721069@qq.com# @File:test.py# @Software:PyCharm
list_1=[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]def func1(list_1):"""利用集合去重"""return list(set(list_1))print('去重后的列表:',func1(list_1))


# !/usr/bin/python3# -*- coding:utf-8 -*-# @Time:2019/12/10  07:00# @微信公众号:ITester软件测试小栈# @Author:coco# @Python交流群:604469740# @Email:3593721069@qq.com# @File:test.py# @Software:PyCharm
'''用i遍历list,如果不在新列表中,则添加到新列表,,否则不添加进去,依次循环'''list_2 = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]def func2(list_2):    #定义一个空列表    mylist_2=[]    #i遍历list_2    for i in list_2:        #如果i不在mylist_2,则添加到mylist_2        if i not in mylist_2:            mylist_2.append(i)            return list_2    print(func2(list_2))

# !/usr/bin/python3# -*- coding:utf-8 -*-# @Time:2019/12/10  07:00# @微信公众号:ITester软件测试小栈# @Author:coco# @Python交流群:604469740# @Email:3593721069@qq.com# @File:test.py# @Software:PyCharm
list_3 = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]def func3(list_3):  """  使用排序的方法  """  result_list=[]  temp_list=sorted(list_3)  i=0  while i<len(temp_list):      #如果不在result_list则添加进去,否则i+1    if temp_list[i] not in result_list:      result_list.append(temp_list[i])    else:      i+=1  return result_listprint(func3(list_3))


# !/usr/bin/python3# -*- coding:utf-8 -*-# @Time:2019/12/10  07:00# @微信公众号:ITester软件测试小栈# @Author:coco# @Python交流群:604469740# @Email:3593721069@qq.com# @File:test.py# @Software:PyCharm
list_4= [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]def func4(list_4):    """    使用字典的方式    """    #fromkeys() 函数创建一个新字典,获取新字典的键(键值是唯一的)    result_list = []    for i in {}.fromkeys(list_4).keys():        result_list.append(i)    return result_listprint(func4(list_4))

# !/usr/bin/python3# -*- coding:utf-8 -*-# @Time:2019/12/10  07:00# @微信公众号:ITester软件测试小栈# @Author:coco# @Python交流群:604469740# @Email:3593721069@qq.com# @File:test.py# @Software:PyCharm
import itertoolslist_5= [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]def func5(list_5):    """利用迭代器"""    list_5.sort()    temp_list= itertools.groupby(list_5)    result_list=[]    for i,j in temp_list:        result_list.append(i)    return result_listprint(func5(list_5))

运行结果:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=



标签:10,20,Python,56,list,列表,试题集,result,15
来源: https://blog.51cto.com/u_10913485/2829891