首頁  >  文章  >  後端開發  >  Python學習之17個關於Python的小技巧

Python學習之17個關於Python的小技巧

Tomorin
Tomorin原創
2018-08-23 17:47:462067瀏覽

Python 是一門非常簡潔的語言,python的簡潔易用令人不得不感嘆這門語言的輕巧。在本文中,我們列舉了 17 個非常有用的 Python 技巧,這 17 個技巧都非常簡單,但它們都很常用且能激發不一樣的思路。

很多人都知道 Python 是一種高階程式語言,其設計的核心概念是程式碼的易讀性,以及允許程式設計者通過若干行程式碼輕鬆表達想法創意。實際上,許多人選擇學習 Python 的首要原因是其程式設計的優美性,用它編碼和表達想法非常自然。此外,Python編寫使用方式有多種,資料科學、網頁開發、機器學習皆可使用 Python。 Quora、Pinterest 和 Spotify 都使用 Python 作為其後端開發語言。

交換變數值

#
"""pythonic way of value swapping"""
a, b=5,10
print(a,b)
a,b=b,a
print(a,b)

將清單中的所有元素組合成字串

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 Counter
cnt=Counter(a)
print(cnt.most_commin(3))

檢查兩個字串是不是由相同字母不同順序組成


#

from collections import Counter
Counter(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  =6
print(4< b < 7 )
print(1 == b < 20)

鍊式函數呼叫

"""calling different functions with same arguments based on condition"""
def  product(a, b):    
    return a * b
def  add(a, b):   
    return a+ b
b =True
print((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 = [&#39;a&#39;: 1, &#39;b&#39;: 2]
print(d.get(&#39;c&#39;, 3))

透過「鍵」排序字典元素

"""Sort a dictionary by its values with the built-in sorted( ) function and a &#39; key&#39; argument ."""
  d = {&#39;apple&#39;: 10, &#39;orange&#39;: 20, &#39; banana&#39;: 5, &#39;rotten tomato&#39;: 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: 
  break
else: 
 print( &#39;did not break out of for  loop&#39; )


#轉換清單為逗號分割符格式


  """converts list to comma separated string"""
items = [foo&#39;, &#39;bar&#39;, &#39;xyz&#39;]
print (&#39;,&#39;.join( items))
"""list of numbers to comma separated"""
numbers = [2, 3, 5, 10]
print (&#39;,&#39;.join(map(str, numbers)))
"""list of mix data"""
data = [2, &#39;hello&#39;, 3, 3,4]
print (&#39;,&#39;.join(map(str, data)))


合併字典

#

"""merge dict&#39;s"""
d1 = {&#39;a&#39;: 1}
d2 = {&#39;b&#39;: 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 OrderedDict
items = ["foo", "bar", "bar", "foo"]
print( list( orderedDict.f romkeys(items ).keys( )))


以上,就是關於Python程式設計中的17個實用且有效的小操作




####################### #

以上是Python學習之17個關於Python的小技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn