当前位置: 首页 > 后端技术 > Python

Python 30秒就能学会的漂亮短代码(译2)

时间:2023-03-25 21:36:40 Python

您可以在30秒内用Python学习漂亮的简码Thinking应用广泛,而且学习起来非常简单。今天给大家带来的是第二期。1、“二维列表”解读:根据给定的长宽,以及初始值,返回一个二维列表。definitialize_2d_list(w,h,val=None):return[[valforxinrange(w)]foryinrange(h)]示例:>>>initialize_2d_list(2,2)[[None,None],[None,None]]>>>initialize_2d_list(2,2,0)[[0,0],[0,0]]2.函数切割数组的解释:用一个函数作用于一个数组的每个元素,导致这个数组被分成两部分。例如,如果应用于元素的函数返回的值为True,则元素被切入第一部分,否则被切入第二部分。defbifurcate_by(lst,fn):return[[xforxinlstiffn(x)],[xforxinlstifnotfn(x)]]示例:>>>bifurcate_by(['beep','boop','foo','bar'],lambdax:x[0]=='b')[['beep','boop','bar'],['foo']]3."交点点”解释:两个数组通过函数应用后,从第一个数组中提取公共元素的原始元素,组成一个新数组。defintersection_by(a,b,fn):_b=set(map(fn,b))return[itemforiteminaiffn(item)in_b]示例:>>>frommathimportfloor>>>intersection_by([2.1,1.2],[2.3,3.4],floor)[2.1]4.最大值下标的解释:返回数组中最大值的下标。defmax_element_index(arr):returnarr.index(max(arr))例子:>>>max_element_index([5,8,9,7,10,3,0])45.数组对称差的解释:求两个两个数组中的不同元素组合成一个新数组。defsymmetric_difference(a,b):_a,_b=set(a),set(b)return[itemforiteminaifitemnotin_b]+[itemforiteminbifitemnotin_a]示例:>>>symmetric_difference([1,2,3],[1,2,4])[3,4]原文:https://github.com/30-seconds/30-seconds-of-python我们的文章到了这就是结局。如果你今天想要我们的Python教程,请继续关注我们。如果对您有帮助,请在下方点赞或观看。如果您有任何问题,可以在下方留言区留言。我们会耐心解答!Python实用词典(pythondict.com)不只是词典欢迎关注公众号:Python实用词典原文来自Python实用词典:30秒学会Python的精美简码(翻译2)