当前位置: 首页 > 科技观察

极好的!每30秒学一个Python小技巧,Githubstars4600+

时间:2023-03-23 12:09:11 科技观察

很多学习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):返回[[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:flattenfunctionimplementation:once性融合列表。解释:使用嵌套列表提取子列表的每个值。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)while(m):m-=1i=randint(0,m)temp_lst[m],temp_lst[i]=temp_lst[i],temp_lst[m]returntemp_lst示例:foo=[1,2,3]shuffle(foo)#[2,3,1],foo=[1,2,3]8。Math:clamp_number函数实现:将数字numby钳位在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)例子:gcd([8,36,28])#4以上是30秒学习python的各种小技巧。怎么样,是不是对一些常用的操作有了新的启发?除此之外,还有很多其他的技能可以慢慢学会。希望对所有读者有所帮助。https://github.com/30秒...