Python学习之17个关于Python的小技巧
python 是一门非常简洁的语言,python的简洁易用令人不得不感叹这门语言的轻便。在本文中,我们列举了 17 个非常有用的 python 技巧,这 17 个技巧都非常简单,但它们都很常用且能激发不一样的思路。
很多人都知道 Python 是一种高级编程语言,其设计的核心理念是代码的易读性,以及允许编程者通过若干行代码轻松表达想法创意。实际上,很多人选择学习 Python 的首要原因是其编程的优美性,用它编码和表达想法非常自然。此外,Python 的编写使用方式有多种,数据科学、网页开发、机器学习皆可使用 Python。Quora、Pinterest 和 Spotify 都使用 Python 作为其后端开发语言。
交换变量值
"""pythonic way of value swapping"""a, b=5,10print(a,b)a,b=b,aprint(a,b)
将列表中的所有元素组合成字符串
立即学习“Python免费学习笔记(深入)”;
a=["python","is","awesome"]print(" ".join(a))
查找列表中频率最高的值
"""most frequent element in a list"""a=[1,2,3,1,2,3,2,2,4,5,1]print(max(set(a),key=a.count))"""using Counter from collections"""from collections import Countercnt=Counter(a)print(cnt.most_commin(3))
检查两个字符串是不是由相同字母不同顺序组成
from collections import CounterCounter(str1)==Counter(str2)
反转字符串
"""reversing string with special case of slice step param""" a ='abcdefghij k lmnopqrs tuvwxyz 'print(a[ ::-1] ) """iterating over string contents in reverse efficiently.""" for char in reversed(a): print(char ) """reversing an integer through type conversion and slicing .""" num = 123456789 print( int( str(num)[::1]))
反转列表
"""reversing list with special case of slice step param""" a=[5,4,3,2,1] print(a[::1]) """iterating over list contents in reverse efficiently .""" for ele in reversed(a): print(ele )
转置二维数组
"""transpose 2d array [[a,b], [c,d], [e,f]] -> [[a,c,e], [b,d,f]]"""original = [['a', 'b'], ['c', 'd'], ['e', 'f']]transposed = zip( *original )print(list( transposed) )
链式比较
""" chained comparison with all kind of operators"""b =6print(4<p><strong><span style="font-size: 16px;">链式函数调用</span></strong></p><pre class="brush:js;toolbar:false">"""calling different functions with same arguments based on condition"""def product(a, b): return a * bdef add(a, b): return a+ bb =Trueprint((product if b else add)(5, 7))
复制列表
"""a fast way to make a shallow copy of a list""" b=a b[0]= 10 """ bothaandbwillbe[10,2,3,4,5]""" b = a[:]b[O] = 10 """only b will change to [10, 2, 3, 4, 5] """ """copy list by typecasting method""" a=[l,2,3,4,5]print(list(a)) """using the list.copy( ) method ( python3 only )""" a=[1,2,3,4,5] print(a.copy( )) """copy nested lists using copy. deepcopy""" from copy import deepcopy l=[l,2],[3,4]] l2 = deepcopy(l)print(l2)
字典get法
""" returning None or default value, when key is not in dict""" d = ['a': 1, 'b': 2]print(d.get('c', 3))
通过「键」排序字典元素
"""Sort a dictionary by its values with the built-in sorted( ) function and a ' key' argument .""" d = {'apple': 10, 'orange': 20, ' banana': 5, 'rotten tomato': 1) print( sorted(d. items( ), key=lambda x: x[1])) """Sort using operator . itemgetter as the sort key instead of a lambda""" from operator import itemgetter print( sorted(d. items(), key=itemgetter(1))) """Sort dict keys by value""" print( sorted(d, key=d.get))
For Else
"""else gets called when for loop does not reach break statement"""a=[1,2,3,4,5]for el in a: if el==0: breakelse: print( 'did not break out of for loop' )
转换列表为逗号分割符格式
"""converts list to comma separated string"""items = [foo', 'bar', 'xyz']print (','.join( items))"""list of numbers to comma separated"""numbers = [2, 3, 5, 10]print (','.join(map(str, numbers)))"""list of mix data"""data = [2, 'hello', 3, 3,4]print (','.join(map(str, data)))
合并字典
"""merge dict's"""d1 = {'a': 1}d2 = {'b': 2}# python 3.5 print({**d1, **d2})print(dict(d1. items( ) | d2. items( )))d1. update(d2)print(d1)
列表中最小和最大值的索引
"""Find Index of Min/Max Element ."""lst= [40, 10, 20, 30]def minIndex(lst): return min( range(len(lst)), key=lst.. getitem__ )def maxIndex(lst): return max( range( len(lst)), key=lst.. getitem__ )print( minIndex(lst)) print( maxIndex(lst))
移除列表中的重复元素
"""remove duplicate items from list. note: does, not preserve the original list order"""items=[2,2,3,3,1]newitems2 = list(set( items)) print (newitems2)"""remove dups and, keep. order"""from collections import OrderedDictitems = ["foo", "bar", "bar", "foo"]print( list( orderedDict.f romkeys(items ).keys( )))
以上,就是关于Python编程中的17个实用且有效的小操作