91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

寫Python有哪些小技巧

發布時間:2021-11-01 14:49:50 來源:億速云 閱讀:127 作者:iii 欄目:編程語言

本篇內容介紹了“寫Python有哪些小技巧”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1. 反轉字符串

雖然看似是很基礎的操作,但是用char循環來反轉字符串可能會非常繁瑣麻煩。幸運的是,Python包含了一個簡單的內置操作來準確地執行這個任務,我們只需訪問字符串上的索引::-1。

a = "!dlrow olleH" backward = a[::-1]

寫Python有哪些小技巧

2. Dims作為變量

在大多數語言中,為了將數組放入一組變量中需迭代循環值,或按位置訪問暗點,如下所示:

firstdim = array[1]

然而,在Python中有一種更好更快的方法。為了將一列值改為變量,可以簡單地將變量名設置為與數組長度相同的數組:

array = [5, 10, 15, 20] five, ten, fift, twent = array

寫Python有哪些小技巧

3. 生成器的next()迭代

在編程中的大多數正常情況下,可以訪問一個索引,并使用計數器獲取位置數字,計數器將只是一個值,添加到:

array1 = [5, 10, 15, 20] array2 = (x ** 2 for x in range(10)) counter = 0for i in array1:# This code wouldn't work because 'i' is not in array2.    # i = array2[i]     i = array2[counter] #    ^^^ This code would because we areaccessing the position of i

我們也可以用next()代替它。Next使用一個迭代器,該迭代器將當前位置存儲在內存中,并在后臺迭代列表:

g = (x ** 2 for x in range(10)) print(next(g)) print(next(g))

4. 智能拆包

迭代地解壓值可能會非常耗費時力,Python中有幾種不錯的方法可以用來解壓列表的方法。其中一個是*,它將填充未分配的值并將它們添加到變量名下的新列表中。

a, *b, c = [1, 2, 3, 4, 5]

寫Python有哪些小技巧

5. 列舉

不了解列舉那可不太行。列舉可以獲取列表中某些值的索引,在數據科學中使用數組而不是數據幀時,這就特別有用:

for i,w in enumerate(array):     print(i,w)

寫Python有哪些小技巧

6. 命名切片

Python中,分割列表非常簡單,各式各樣優秀工具都能做到。特別好的一點是,它還能夠給列表命名,這對于Python中的線性代數特別有用:

a = [0, 1, 2, 3, 4, 5] LASTTHREE = slice(-3, None) slice(-3, None, None) print(a[LASTTHREE])

寫Python有哪些小技巧

7. Itertools

如果深入學習Python,那你肯定要熟悉itertools。itertools是標準庫中的一個模塊,它可以不斷地解決迭代問題。它不僅使編寫復雜循環大幅度變容易,而且還使代碼更簡潔快速。有數百種Itertools的使用示例,來看看其中一個:

c = [[1, 2], [3, 4], [5, 6]] # Let's convert this matrix to a 1 dimensional list. import itertools as it newlist = list(it.chain.from_iterable(c))

8. 分組相鄰列表

在for循環中,對相鄰循環進行分組當然很容易,特別是使用zip(),但這肯定不是最好的方法。為了更輕松便捷地實現這一點,可以用zip編寫一個lambda表達式,該表達式將對相鄰列表進行分組,如下所示:

a = [1, 2, 3, 4, 5, 6] group_adjacent = lambda a, k: zip(*([iter(a)] * k)) group_adjacent(a, 3) [(1, 2, 3), (4, 5, 6)] group_adjacent(a, 2) [(1, 2), (3, 4), (5, 6)] group_adjacent(a, 1)

寫Python有哪些小技巧

9. 計數器

集合也是模塊中很好的標準庫,這里向大家介紹的是集合中的計數器。使用計數器,可以輕松獲得一個列表的計數。這對于獲取數據中的值總數、數據的空計數,以及查看數據的唯一值非常有用。

“為什么不直接使用Pandas呢?”使用Pandas來實現這一點無疑會困難得多,而且這只是在部署算法時需要添加到虛擬環境中的另一個依賴項。另外,Python中的計數器類型有很多Pandas系列沒有的特性,這使其在某些情況下更有用。

A = collections.Counter([1, 1, 2,2, 3, 3, 3, 3, 4, 5, 6, 7]) A Counter({3: 4, 1: 2, 2: 2, 4: 1, 5: 1, 6: 1, 7: 1}) A.most_common(1) [(3, 4)] A.most_common(3) [(3, 4), (1, 2), (2, 2)]

10. 出隊

如下所示,出隊能讓代碼非常整潔:

import collections Q = collections.deque() Q.append(1) Q.appendleft(2) Q.extend([3, 4]) Q.extendleft([5, 6]) Q.pop() Q.popleft() Q.rotate(3) Q.rotate(-3) print(Q)

寫Python有哪些小技巧

“寫Python有哪些小技巧”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

信阳市| 罗田县| 阿合奇县| 宜兴市| 博白县| 金寨县| 宁津县| 鄢陵县| 清徐县| 黔西县| 区。| 荣成市| 博乐市| 平江县| 辽宁省| 元阳县| 普陀区| 叶城县| 专栏| 瓦房店市| 青川县| 和硕县| 汾阳市| 仪征市| 巩义市| 哈尔滨市| 新乡县| 德兴市| 吉木萨尔县| 乌审旗| 怀柔区| 富平县| 万盛区| 虎林市| 平泉县| 湘西| 资源县| 吉安县| 中宁县| 延寿县| 上思县|