超實用的 30 段 Python 案例(一)

Python是目前最流行的語言之一,它在數據科學、機器學習、web開發、腳本編寫、自動化方面被許多人廣泛使用。

超實用的 30 段 Python 案例(一)

它的簡單和易用性造就了它如此流行的原因。

如果你正在閱讀本文,那麼你或多或少已經使用過Python或者對Python感興趣。

在本文中,我們將會介紹 30 個簡短的代碼片段,你可以在 30 秒或更短的時間裡理解和學習這些代碼片段。

超實用的 30 段 Python 案例(一)

1.檢查重複元素

下面的方法可以檢查給定列表中是否有重複的元素。它使用了 set() 屬性,該屬性將會從列表中刪除重複的元素。

def all_unique(lst): 
return len(lst) == len(set(lst))

x = [1,1,2,2,3,2,3,4,5,6]
y = [1,2,3,4,5]
all_unique(x) # False
all_unique(y) # True

2.變位詞

檢測兩個字符串是否互為變位詞(即互相顛倒字符順序)

from collections import Counter 

def anagram(first, second):
return Counter(first) == Counter(second)
anagram("abcd3", "3acdb") # True

3.檢查內存使用情況

以下代碼段可用來檢查對象的內存使用情況。

import sys 
variable = 30
print(sys.getsizeof(variable)) # 24

4.字節大小計算

以下方法將以字節為單位返回字符串長度。

def byte_size(string): 
return(len(string.encode('utf-8')))

byte_size('') # 4
byte_size('Hello World') # 11

5.重複打印字符串 N 次

以下代碼不需要使用循環即可打印某個字符串 n 次

n = 2; 
s ="Programming"; print(s * n);
# ProgrammingProgramming

6.首字母大寫

以下代碼段使用 title() 方法將字符串內的每個詞進行首字母大寫。

s = "programming is awesome" 
print(s.title()) # Programming Is Awesome

7.分塊

以下方法使用 range() 將列表分塊為指定大小的較小列表。

from math import ceil 

def chunk(lst, size):
return list(
map(lambda x: lst[x * size:x * size + size],
list(range(0, ceil(len(lst) / size)))))
chunk([1,2,3,4,5],2) # [[1,2],[3,4],5]

8.壓縮

以下方法使用 fliter() 刪除列表中的錯誤值(如:False, None, 0 和“”)

def compact(lst): 
return list(filter(bool, lst))
compact([0, 1, False, 2, '', 3, 'a', 's', 34]) # [ 1, 2, 3, 'a', 's', 34 ]

9.間隔數

以下代碼段可以用來轉換一個二維數組。

array = [['a', 'b'], ['c', 'd'], ['e', 'f']] 
transposed = zip(*array)
print(transposed) # [('a', 'c', 'e'), ('b', 'd', 'f')]

10.鏈式比較

以下代碼可以在一行中用各種操作符進行多次比較。

a = 3 
print( 2 < a < 8) # True
print(1 == a < 2) # False


分享到:


相關文章: