小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

11 個 Python 技巧來炫耀你的高級技能

 新用戶62592529 2022-12-03 發(fā)布于四川

如果你可以以 Python 式的方式使用 Python,那么 Python 是一種優(yōu)雅的語言。
但不管你有多資深,真正用 Python 寫代碼都需要一些時間。
本文將向你分享 11 個 Pythonic 技巧,讓你的 Python 技能提升到一個新水平。
現在,我們就一起來看這些代碼。
1、Python中的解構賦值
給變量賦值是編程的基本操作,Python 有一些語法糖來使過程更加優(yōu)雅。
讓我們看一個簡單的例子:
a, *mid, b = [1, 2, 3, 4, 5, 6]print(a, mid, b)# 1 [2, 3, 4, 5] 6

如上所示,在一個星號的幫助下,mid 變量將中間的項目作為列表接收。

2、使用 Zip 函數聚合項目

Python 有一個驚人的內置函數,叫做 zip。顧名思義,zip 函數聚合來自不同迭代的項目,例如列表、元組或集合,并返回一個迭代器。

id = [1, 2, 3, 4]leaders = ['Elon Mask', 'Tim Cook', 'Bill Gates', 'Yang Zhou']sex = ['male', 'male', 'male', 'male']record = zip(id, leaders, sex)
print(list(record))# [(1, 'Elon Mask', 'male'), (2, 'Tim Cook', 'male'), (3, 'Bill Gates', 'male'), (4, 'Yang Zhou', 'male')]

3、在 Python 中正確使用 Lambda 函數

如果你喜歡單線,Lambda 函數是你的朋友,讓我們在這里看一個經典的問題:

給你一個清單如下,你能把里面所有的奇數都打印出來嗎?

很簡單的,你只需要一行代碼:

print(list(filter(lambda x: x % 2 == 1, numbers)))# [1, 37, 43, 51, 83, 43]

4、使用下劃線忽略變量

有時,一個變量是無用的,你不必費心給它起名字,你可以用下劃線忽略它。

>>> L = [1,3,5,7]>>> a, _, b, _ = L>>> print(a, b)1 5

5、利用列表理解的力量

同樣,如果你是 Python 單行代碼的粉絲,列表理解是你必須知道的,它具有將多個操作轉換為一行代碼的能力:

Genius = ['Jerry', 'Jack', 'tom', 'yang']L1 = [name if name.startswith('y') else 'Not Genius' for name in Genius]print(L1)# ['Not Genius', 'Not Genius', 'Not Genius', 'yang']

6、放置一個占位符

有時,你需要定義一個函數但尚未弄清楚如何實現它,你可以在其中放置一個占位符:

def my_func():    pass

或者更可愛的方式:??

def my_func(): ...

7、通過正則表達式處理文本

正則表達式 (regex) 是處理字符/字符串的強大工具,Python 內置的 re 模塊提供了正則表達式的所有功能:

import retxt = 'Yang is so handsome!!!'x = re.search('Elon', txt)print(x)#None

8、Python 中的 Map 和 Reduce

Python中有兩個著名的高階函數:map()和reduce()。

map()函數接收兩個參數,一個是函數,另一個是Iterable,它依次將初始化函數應用于序列的每個元素,并將結果作為新的迭代器返回。

names = ['yAnG', 'MASk', 'thoMas', 'LISA']names = map(str.capitalize, names)print(list(names))# ['Yang', 'Mask', 'Thomas', 'Lisa']

reduce()方法也有兩個參數,一個是函數,另一個是Iterable,它將函數應用于序列,該函數必須接收兩個參數,reduce 繼續(xù)結果并與序列的下一個元素執(zhí)行累積計算。最后,它返回累積計算的結果。

from functools import reduce
city = ['L', 'o', 'n', 'd', 'o', 'n', 2, 0, 2, 0]city_to_str = reduce(lambda x, y: str(x) + str(y), city)print(city_to_str)# London2020

9、優(yōu)雅地刪除字符串中不必要的空格

這個字符串處理技巧結合了 splits() 和 join() 的強大功能:

quote = '   Yang   is a full   stack hacker.'new_quote = ' '.join(quote.split())print(new_quote)# Yang is a full stack hacker.

10、淺拷貝列表的最簡單方法

在 Python 中淺拷貝列表的最簡單方法是利用列表切片的特性:

>>> a = [1, 2, 3, 4, 5, 6]>>> b = a[:]>>> b[0]=100>>> b[100, 2, 3, 4, 5, 6]>>> a[1, 2, 3, 4, 5, 6]

11. 在解釋器中檢查最后一個表達式的值

這是 Python Interpreter 的一個有趣的小技巧,我們可以使用一個下劃線來簡單地獲取最后一個表達式的值。

>>> 5+611>>> _11

總結

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多