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