Python从入门到入土的90行代码之内置包库

Python   2023-03-15 01:51   603   0  

81 、judge = lambda a,b,f1,f2 : (f1 if a>b else f2)(a,b)


表示,如果a>b则执行f1(a,b),否则执行f2(a,b)


82、 eval('[a,b,c]')


eval函数会把字符串转为可执行的表达式,由于这个功能不太安全,所以尽管使用门槛很低,但不建议初学者使用。


83、 list(zip(*lst))


zip可以像拉链一样将数组中对应的值缝合起来,以元组的形式重新存储。根据这个特性,可完成列表的"转置"。


>>> lst = [[1,2], [3,4], [5,6]]
>>> list(zip(*lst))
[(1, 3, 5), (2, 4, 6)]

84、 max(set(lst),key=lst.count)


其中lst为列表,count(i)是列表的内置函数,表示统计i出现的个数。set表示将lst转为集合,从而剩排除重复值。


max(set(lst),key=lst.count)表示通过lst.count这个指标来得到set(lst)中出现次数最多的那个值——即求众数。


85 、dict(zip(myDict.values(),myDict.keys()))


通过zip实现字典的字符串互换操作。


86、 map(lambda x: lst[x * size:x * size + size], list(range(0, ceil(len(lst) / size)))))


这种丧心病狂的单行表达式十分魔性,感兴趣的朋友可以试着读读看。


87、 ['未成年', '成年'][age > 18]


这种写法等价于'成年' if age > 18 else '未成年',其实很容易理解,age>18若为True,则对应1,返回列表中的第1项;否则返回第0项。


88 、sum([[1,2,3],[4,5,6]],[])


之前已经讲了用chain拼接列表的方法,sum也可以实现这一功能,而且更加优雅简洁。其原理是,用[]依次加上[1,2,3]和[4,5,6]。一般来说,[]这一项默认为0,故而适用于数值加法。


但目前来说,并不支持sum(['a','b'],''),但字符串列表有join,所以并不需要这个。


89-90 、sys.ps1, sys.ps2=":", "-"


sys中ps1和ps2分别表示,在交互模式下的两个提示符,这个不知道如何描述,但做一下示例就明白了


>>> sys.ps1 = ":"
:sys.ps2 = "-"
:def test():
-  print("Hello")
-
:test()
Hello


博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。
闲言碎语
人的一生好像乘坐北京地铁一号线:途经国贸,羡慕繁华;途经天安门,幻想权力;途经金融街,梦想发财;经过公主坟,遥想华丽家族;经过玉泉路,依然雄心勃勃…这时,有个声音飘然入耳:乘客你好,八宝山快到了!顿时醒悟:人生苦短,何不淡然。
赞赏支持

如果觉得博客文章对您有帮助,异或土豪有钱任性,可以通过以下扫码向我捐助。也可以动动手指,帮我分享和传播。您的肯定,是我不懈努力的动力!感谢各位亲~