作者:xiaoyu,数据爱好者Python数据科学出品很多学习Python的朋友在实战项目实战中,在功能的实现中会遇到很多问题,有些问题并不难问题,或者已经是一个很好的方法。当然,何为完美,当我们熟练掌握代码后,自然可以总结出一些有用的技巧,但对于那些还只是熟悉Python的同学来说,可能就没那么容易了。这次给大家推荐一个学习这些技能的好资源《30-seconds-of-python》。只需30秒即可获得所有技能和方法,您可以利用您的业务时间不断积累。下面快速浏览一下。https://github.com/30-seconds...目录下面是30秒学Python的整个目录,分为几大版块:List,Math,Object,String,Utility。以下是整理好的思维导图。我挑选了10个实用有趣的方法分享给大家,剩下的大家有兴趣可以自己去学习。1.List:all_equal函数实现:检查一个列表中的所有元素是否相同。解释:使用[1:]和[:-1]比较给定列表的所有元素。defall_equal(lst):returnlst[1:]==lst[:-1]示例:all_equal([1,2,3,4,5,6])#Falseall_equal([1,1,1,1])#真2。List:all_unique函数实现:如果列表中的所有值都是唯一的,则返回True,否则返回False解释:在给定的列表上使用集合set()去除重复项,并将其长度与原始列表进行比较。defall_unique(lst):returnlen(lst)==len(set(lst))示例:x=[1,2,3,4,5,6]y=[1,2,2,3,4,5]all_unique(x)#Trueall_unique(y)#False3。列表:分叉函数实现:对列表值进行分组。如果filter中的元素为True,则对应的元素属于第一组;否则,它属于第二组。解释:使用列表理解和枚举()根据过滤器将元素过滤到组中。defbifurcate(lst,filter):return[[xfori,xinenumerate(lst)iffilter[i]==True],[xfori,xinenumerate(lst)iffilter[i]==False]]示例:bifurcate(['beep','boop','foo','bar'],[True,True,False,True])#[['beep','boop','bar'],['foo']]4。列表:差异函数实现:返回两个可迭代对象之间的差异。解释:创建b的集合,利用a的列表推导保留_b中不存在的元素。defdifference(a,b):_b=set(b)return[itemforiteminaifitemnotin_b]示例:difference([1,2,3],[1,2,4])#[3]5。List:flatten函数实现:一次性整合列表。解释:使用嵌套列表提取子列表的每个值。defflatten(lst):return[xforyinlstforxiny]示例:flatten([[1,2,3,4],[5,6,7,8]])#[1,2,3、4、5、6、7、8]6。Math:digitize函数实现:将一个数字分解成个位数。解读:表征n后,使用map()函数结合int完成转换defdigitize(n):returnlist(map(int,str(n)))例子:digitize(123)#[1,2,3]7。List:shuffle函数实现:随机打乱列表元素的顺序。解释:使用Fisher-Yates算法对列表元素重新排序。fromcopyimportdeepcopyfromrandomimportrandintdefshuffle(lst):temp_lst=deepcopy(lst)m=len(temp_lst)而(m):m-=1i=randint(0,m)temp_lst[m],temp_lst[i]=temp_lst[i],temp_lst[m]返回temp_lst示例:foo=[1,2,3]shuffle(foo)#[2,3,1],foo=[1,2,3]8。数学:clamp_number功能实现:将数num钳制在a和b的边界值指定的范围内。解释:如果num在范围内,则返回num;否则,返回范围内最接近的数字。defclamp_number(num,a,b):returnmax(min(num,max(a,b)),min(a,b))示例:clamp_number(2,3,5)#3clamp_number(1,-1,-5)#-19。String:byte_size函数实现:返回字符串的字节数。解释:使用string.encode('utf-8')解码给定的字符串并返回长度。defbyte_size(string):returnlen(string.encode('utf-8'))例子:byte_size('?')#4byte_size('HelloWorld')#1110.数学:gcd函数实现:计算几个数的最常见数因素。解释:使用reduce()和math.gcd在给定列表上实现。fromfunctoolsimportreduceimportmathdefgcd(numbers):returnreduce(math.gcd,numbers)example:gcd([8,36,28])#4及以上是在30秒内学习python的各种技巧。怎么样,是不是对一些常用的操作有了新的启发?除此之外,还有很多其他的技能可以慢慢学会。希望对所有读者有所帮助。https://github.com/30-seconds...最后,如果喜欢本文,请点赞收藏。更多精彩内容,请关注Python数据科学
