Python高频面试题——如何实现列表去重

news2024/12/25 9:32:24

 

在招聘Python自动化测试岗位面试时,最常问的一个编码实战问题就是:

一个包含多个值的列表,但存在重复值,如何实现去重?当然大家也可以结合实际业务情况进行提问,例如:统计今天有多少个不同的用户使用了系统等等,这样更能看出被面试的同学是不是在背题目

利用set去重

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。针对这道面试题目,最简单的做法是将我们的list转为set,自动进行重复值的删除,最后在把set转为list即可,代码实现如下:

list1 = [1,1,2,3,4,6,6,2,2,9]
list2 = list(set(list1))
print(list2)
>>>[1, 2, 3, 4, 6, 9]

循环实现

使用for循环,我们将遍历列表来删除重复值是这个面试题的基础操作,实现思路如下:

首先我们创建一个空列表list3= []。在for循环中,添加检查列表中的元素是否存在list3中,如果不存在,则使用append方法将元素添加到list3中,每当遇到重复值时,由于它已经在list3中,所以不会被插入。

代码实现如下:

list1 = [1,1,2,3,4,6,6,2,2,9]
list3 = []
for i in list1:
    if i not in list3:
        list3.append(i)
print(list3)
输出:
[1, 2, 3, 4, 6, 9]

最后的总结

一个小小的考点,包括了如下python的重要知识点:

1.list的使用

2.set的使用

3.循环语句的使用

4.条件语句的使用

实话实说,如果不是为了卷,对于招聘接口自动化测试和UI自动化测试岗位来说,掌握上述基础的python知识点考核就能够达到目的了,通过的同学完全有能力编写相关的测试脚本!

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/748867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Day51|309.最佳买卖股票时机含冷冻期 、714.买卖股票的最佳时机含手续费

309.最佳买卖股票时机含冷冻期 1.题目: 给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票&#xff0…

电脑如何提高图片dpi分辨率?在线修改图片dpi的操作方法

想要给微信换个背景图片,但是又发现像素尺寸不合适,需要调整图片大小( https://www.yasuotu.com/size),那么怎么可以修改图片大小呢?今天分享的这款图片处理工具可以快速将图片大小修改,一起来看…

线性代数 4 every one(线性代数学习资源分享)

Linear Algebra 4 Every One 版权说明,以下我分享的都是一个名叫Kenji Hiranabe的日本学者,在github上分享的,关于Gilbert Strang教授所撰写的《Linear Algebra for Everyone》一书的总结,更像是一个非常精美的线性代数手册&#…

深入解析 MQTT 中基于 Token 的认证和 OAuth 2.0

除了前几篇文章中提到的认证方法,本文将对其他认证方法进行深入分析和探讨。 具体而言,我们将深入了解基于 Token 的认证和 OAuth 2.0,阐述它们的原理并展示它们在 MQTT 中的应用。 基于 Token 的认证 让我们先来认识一下基于 Token 的认证…

网站窗口标题旁的图标生成与替换

电脑端浏览器打开网站后窗口顶部的标签标题左边会有一个网站图标的显示,那个图标需要的是 .ico 格式的文件 在线免费生成ico图标的网址 只需要打开网址选择文件、选择尺寸生成下载,然后放到个人项目中(一般放在public目录中)&am…

IDEA中右侧栏和底部栏不见了

IDEA中右侧栏和底部栏不见了 在开发中,IDEA的右侧栏目maven、database等栏目不见了 右侧栏中和底部没东西。 问题解决: View—>Appearance–>Tool Windows Bars 选中即可。 选中之后,出现

mac安装Golang开发环境及快速入门

目录 一、Mac brew 安装go环境 1.1 安装步骤 1.2 设置GOPATH 及环境变量 1.3 编写第一个go程序 二、快速入门 1.1 快速入门需求 1.2 go学习(自用) 一、Mac brew 安装go环境 1.1 安装步骤 1)终端输入,也可以指定下载go版本…

黑客(信息安全网络安全)自学手册

一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习 行为:从编程开始掌握,前端后端、通信协议、什么都学。 缺点:花费时间太长、实际向安全过渡后可用到的关键知识并不多。…

uniapp自定义头部,计算状态栏和导航栏高度超简单三步

效果图 1.pages.json 页面给要自定义头部的页面加入一行代码 "navigationStyle":"custom" {"path": "pages/index/index","style": {"navigationBarTitleText": "","navigationStyle":"…

代码随香录day16

104. 二叉树的最大深度 思路:这道题推荐用层序遍历递归的方式 递归三要素: 终止条件:当当前node为空时候 单层递归逻辑:分别向node的左子树和右子树进行递归,定义left和right接受返回值 递归参数:root 代…

wincc与300以太网通讯教程在建材行业矿粉磨生产自动化控制系统中应用

内容摘要 上位机与S7-300PLC通信采用以太网通信,通讯模块采用捷米特ETH-S7300-JM01以太网通讯模块,捷米特ETH-S7300-JM01通讯模块直接插到CPU315-2DP的DP口上。 项目介绍 立磨PLC控制系统: 立磨是一种理想的大型粉磨设备,广泛应…

最详细的下载安装PicGo图床配合Typora使用

1.node.js下载安装1.2 检验安装成功 2. PicGo下载安装3. 配置Gitee【配合PicGo使用】3.1 获取PicGo的token 4. 配置PicGo4.1 下载插件4.2 配置图床[Gitee]4.3 配置Typora 5. 上传图片到Gitee【重要】6.解决配置错误 1.node.js下载安装 【node.js下载链接】点击跳转页面&#x…

安卓JNI从0到1入门教程(三)

前面两篇博客介绍了jni相关内容,以及怎么在Android中简单使用,demo比较简单。这次来讲讲复杂一点的java和C/C的互相调用。 下面我们将要实现的功能是将Java对象传递给C,然后用C的对象接收值,最后把C对象的值回传给Java层。 一、…

HP Laser 136nw打印机与win10实现Wifi直连

HP Laser 136nw打印机与win10实现Wifi直连 HP Laser 136nw打印机设置HP Smart HP Laser 136nw打印机设置 打开打印机WIFI开关,使其他设备可以搜索到 查看打印机设备名称,用于设备搜索 查看打印机WIFI密钥,用于windows与打印机直连 根据…

深度学习开源框架

文章目录 1. 深度学习框架1.1 概述1.2 深度学习框架—关于组件1.2.1 组件—张量1.2.2 基于张量的各种操作1.2.3 计算图1.2.4 自动微分工具1.2.5 拓展包 2. 主流深度学习框架2.1 市面上主流框架2.2 本土深度学习框架2.3 深度学习框架的标准化--ONNX 3. Tensorflow3.1 Tensorflow…

【读书笔记】《认知驱动》- 周岭 - 2021年出版

不停的阅读,然后形成自己的知识体系。 2023.07. 读 读完毛姆的《月亮与六便士》,本来打算阅读《人类群星闪耀时》。尝试阅读了一下,有点太累了,于是换周岭老师的另一本《认知驱动》来读吧,这本书稍显轻快好理解一些&a…

JavaScript的数据类型和数据类型的检测

目录 数据类型 数据类型的检测 🎁更多干货 完整版文档下载方式: 数据类型 JavaScript的基础数据类型有,NaN string undefined Null Boolen Symbol   Bigint 这些都是基础数据类型,还有一个引用数据类型&…

2. CSS3的新特性

2.1CSS3的现状 ●新增的CSS3特性有兼容性问题, ie9才支持 ●移动端支持优于PC端 ●不断改进中 ●应用相对广泛 ●现阶段主要学习: 新增选择器和盒子模型以及其他特性 CSS3给我们新增了选择器,可以更加便捷,更加自由的选择目标元素: 1.属性选择器 2.结构伪类选择器…

中介者(Mediator)模式

目录 动机使用场景参与者协作效果实现相关模式应用和思考 中介者(Mediator)是对象行为模式,用一个中介对象来封装一系列对象的交互。中介者使各对象不需要显式的相互应用,从而使其耦合松散,而且可以独立的改变他们之间的交互 动机 面向对象设…

光学卷积处理芯片---自动驾驶高性能运算平台的福音?

摘要: 本文提到的在低损耗氮化硅平台上制造的紧凑片上光学卷积处理单元,可以展示出其大规模集成的能力。 深度学习的处理模式是我们在在自动驾驶环境目标分类、识别、跟踪等场合下不可或缺的重要一环。随着自动驾驶技术的不断演进,要求处理的…