今天分享 3 个 Python 编程小技巧来看看你是否用过?1、如何按照字典的值的大小进行排序我们知道字典的本质是哈希表本身是无法排序的但 Python 3.6 之后字典是可以按照插入的顺序进行遍历的这就是有序字典其中的原理可以阅读为什么 Python3.6 之后字典是有序的。知道了这一点就好办了先把字典的键值对列表排序然后重新插入新的字典这样新字典就可以按照值的大小进行遍历输出。代码如下1234567891011121314151617181920 xs{a:4,b:3,c:2,d:1}fork,vinxs.items():#遍历字典...print(k,v)...a4b3c2d1 new_ordersorted(xs.items(), keylambdax: x[1])#对字典的键值对列表排序 new_xs{ k : vfork,vinnew_order}#有序列表插入新的字典 new_xs{d:1,c:2,b:3,a:4}fork,vinnew_xs.items():##新字典的输出就是有序的...print(k,v)...d1c2b3a4对列表的排序你还可以使用如下方法123importoperatorsorted(xs.items(), keyoperator.itemgetter(1))[(d,1), (c,2), (b,3), (a,4)]2、优雅的一次性判断多个条件假如有三个条件只要有一个为真就可以通过也许你会这么写1234x, y, z0,1,0ifx1ory1orz1:print(passed)实际上以下三种方法更加Pythonic12345678if1in(x, y, z):print(passed)ifxoryorz:print(passed)ifany((x, y, z)):print(passed)最后一个用到了Python内置的方法any()any接受一个可迭代对象作为参数比如列表或元组只要其中一个为真则 any() 方法返回真用法示例如下12345678910111213141516171819202122any([a,(2,4),3,True])Trueany([a,(2,4),3,False])Trueany([a,(),3,False])Trueany([,(),0,False])Falseany((a,(),3,False))Trueany((,(),0,False))False## 注意空的可迭代对象返回 Falseany(())Falseany([])Falseany()Falseany({})False与any()对应的就是方法all()只有全部为真才为真注意空的可迭代对象一直返回真。123456789101112131415161718all([a,(2,4),1,True])//list都为真Trueall([a,(),1,True])//list元素中有空tupleFalseall([a,(2,4),0,True])Falseall([a,(2,4),3,False])False## 注意空的可迭代对象返回 Trueall([])Trueall(())Trueall({})Trueall()True查看帮助文档可以在解释器输入help:123456789help(all)Helpon built-infunctionallinmodule __builtin__:all(...)all(iterable)-boolReturnTrueifbool(x)isTrueforallvalues xinthe iterable.If the iterableisempty,returnTrue.3、如何优雅的合并两个字典** 操作符可以解包字典这在合并字典时非常有用比如1234567 x{a:1,b:2} y{b:3,c:4} z{**x,**y} z{c:4,a:1,b:3}如果在 Python2.x 中需要这么做123 zdict(x,**y) z{a:1,c:4,b:3}以上就是3个 Python 编程技巧的详细内容