今天分享一些使用的 python 小技巧,从接触 AI 用 python 也快 2 年了,也遇到问题,尝试一些解决方案来。感觉接下来介绍解决方案都是比较实用,也希望对您有所帮助。
两个列表之间的差
我们现在有两个列表分别是 models
和 object_detections
`models = ['fastRCNN', 'YOLO', 'mask-rcnn', 'deeplab', 'FCN'] object_detections = ['fastRCNN', 'YOLO', 'mask-rcnn'] `
我们想找到一些模型,也就是 models
和 object_detections
也就是这元素存在于 models
而不存在 object_detections
`models_set = set(models) object_detections_set = set(object_detections) segmentation = list(models_set.symmetric_difference(object_detections_set)) print(segmentation) `
计算 python 对象所占用的内存大小
对于任何数据结构(如列表、字典或任何对象)来存储数值或记录时,都要检查数据结构所占用的内存的大小。查看数据结构使用了多少内存是一个好的做法是用 sys.getsizeof
返回对象的大小,单位为字节。
`import sys object_detections = ['fastRCNN', 'YOLO', 'mask-rcnn'] print("size of list = ",sys.getsizeof(object_detections)) #Memory: 4076 kilobyte(s) `
列表去重
很多数情况,需要从列表中移除重复的元素。通常我们会用 set 这个自动可以去重的集合,在 set 中是不允许有重复的元素。
`listNumbers = [1,2,2,5,5,5,6,7,8] print("Original= ", listNumbers) listNumbers = list(set(listNumbers)) print("After removing duplicate= ", listNumbers) `
`Original= [1, 2, 2, 5, 5, 5, 6, 7, 8] After removing duplicate= [1, 2, 5, 6, 7, 8] `
如何有效地比较两个列表
通常我们需要比较两个列表是否相同,
`from collections import Counter one = [1, 5, 3, 7, 9] two = [9, 1, 3, 5, 7] print("比较两个列表是否相同", Counter(one) == Counter(two)) `
-
对象是 hashable 可以使用
collections.Counter
-
也可以使用
sorted()
进行排序然后看是否相同
检测列表中仅包含一种元素
检查一个列表是否仅包含一种元素,这里使用一点小技巧,也就是计算一个元素出现个数,使用count
是否和列表长度相同,如果相同,就说明该列表中所有元素都是一致的。
`a = [3, 3, 3,3] print("All element are duplicate in listOne", a.count(a[0]) == len(a)) b = [3, 3, 3,2] print("All element are duplicate in listTwo", b.count(b[0]) == len(b)) `
计算函数耗时
通常我们需要了解一下我们函数所消耗时间,来衡量函数的性能。
`import time startTime = time.time() # 你的代码 endTime = time.time() totalTime = endTime - startTime print("Total time required to execute code is= ", totalTime) `
解构字典
如果熟悉 js 的 es6 新特性,应该对以下语法不会陌生。解构有点将容器中元素一个一个取出。
`networkOne = {1: 'AlexNet', 2: "ResNet", 3:"DenseNet"} networkTwo= {2: 'ViT', 4: "Transformer"} networkThird = {**networkOne, **networkTwo} print(networkThird)`
`{1: 'AlexNet', 2: 'ViT', 3: 'DenseNet', 4: 'Transformer'}`
以上就是“5个python 求职涨薪小技巧”的全部内容,希望对你有所帮助。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。