Python是目前最流行的語言之一,它在資料科學、機器學習、web開發、腳本編寫、自動化方面被許多人廣泛使用。
它的簡單和易用性造就了它如此流行的原因。
如果你正在閱讀本文,那麼你或多或少已經使用過Python或者對Python感興趣。
在本文中,我們将會介紹 30 個簡短的代碼片段,你可以在 30 秒或更短的時間裡了解和學習這些代碼片段。
11.逗号分隔
以下代碼段可将字元串清單轉換為單個字元串,清單中的每個元素用逗号分隔。
'''
python學習交流群:1136201545更多學習資料可以加群擷取
'''
hobbies = ["basketball", "football", "swimming"]
print("My hobbies are: " + ", ".join(hobbies)) # My hobbies are: basketball, football, swimming
12.計算元音字母數
以下方法可計算字元串中元音字母(‘a’, ‘e’, ‘i’, ‘o’, ‘u’)的數目。
import re
def count_vowels(str):
return len(len(re.findall(r'[aeiou]', str, re.IGNORECASE)))
count_vowels('foobar') # 3
count_vowels('gym') # 0
13.首字母恢複小寫
以下方法可用于将給定字元串的第一個字母轉換為小寫。
def decapitalize(string):
return str[:1].lower() + str[1:]
decapitalize('FooBar') # 'fooBar'
decapitalize('FooBar') # 'fooBar'
14.平面化
以下方法使用遞歸來展開潛在的深度清單。
def spread(arg):
ret = []
for i in arg:
if isinstance(i, list):
ret.extend(i)
else:
ret.append(i)
return ret
def deep_flatten(lst):
result = []
result.extend(
spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst))))
return result
deep_flatten([1, [2], [[3], 4], 5]) # [1,2,3,4,5]
15.差異
該方法隻保留第一個疊代器中的值,進而發現兩個疊代器之間的差異。
def difference(a, b):
set_a = set(a)
set_b = set(b)
comparison = set_a.difference(set_b)
return list(comparison)
difference([1,2,3], [1,2,4]) # [3]
16.尋找差異
下面的方法在将給定的函數應用于兩個清單的每個元素後,傳回兩個清單之間的內插補點。
def difference_by(a, b, fn):
b = set(map(fn, b))
return [item for item in a if fn(item) not in b]
from math import floor
difference_by([2.1, 1.2], [2.3, 3.4],floor) # [1.2]
difference_by([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], lambda v : v['x']) # [ { x: 2 } ]
17.鍊式函數調用
以下方法可在一行中調用多個函數。
def add(a, b):
return a + b
def subtract(a, b):
return a - b
a, b = 4, 5
print((subtract if a > b else add)(a, b)) # 9
18.檢查重複值
以下方法使用 set() 方法僅包含唯一進制素的事實來檢查清單是否具有重複值。
def has_duplicates(lst):
return len(lst) != len(set(lst))
x = [1,2,3,4,5,5]
y = [1,2,3,4,5]
has_duplicates(x) # True
has_duplicates(y) # False
19.合并兩個詞典
以下方法可用于合并兩個詞典。
def merge_two_dicts(a, b):
c = a.copy() # make a copy of a
c.update(b) # modify keys and values of a with the ones from b
return c
a = { 'x': 1, 'y': 2}
b = { 'y': 3, 'z': 4}
print(merge_two_dicts(a, b)) # {'y': 3, 'x': 1, 'z': 4}
在Python 3.5及更高版本中,你還可以執行以下操作:
def merge_dictionaries(a, b)
return {**a, **b}
a = { 'x': 1, 'y': 2}
b = { 'y': 3, 'z': 4}
print(merge_dictionaries(a, b)) # {'y': 3, 'x': 1, 'z': 4}
20.将兩個清單轉換成一個詞典
以下方法可将兩個清單轉換成一個詞典。
'''
python學習交流群:1136201545更多學習資料可以加群擷取
'''
def to_dictionary(keys, values):
return dict(zip(keys, values))
keys = ["a", "b", "c"]
values = [2, 3, 4]
print(to_dictionary(keys, values)) # {'a': 2, 'c': 4, 'b': 3}