日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

10個(gè)技巧,這些技巧將個(gè)性化并改善您的Python代碼

Python的10個(gè)神奇的技巧

> (Python logo src = http://python.org/)

盡管從表面上看,Python似乎是任何人都可以學(xué)習(xí)的一種簡(jiǎn)單語(yǔ)言,但確實(shí)如此,許多人可能驚訝地知道一個(gè)人可以熟練掌握該語(yǔ)言。 Python是其中的一門(mén)很容易學(xué)習(xí)的東西,但可能很難掌握。 在Python中,通常有多種處理方法,但是很容易做錯(cuò)事情,或者重新發(fā)明標(biāo)準(zhǔn)庫(kù)并浪費(fèi)時(shí)間,這僅僅是因?yàn)槟恢滥K的存在。

不幸的是,Python標(biāo)準(zhǔn)庫(kù)是一個(gè)巨大的野獸,此外,其生態(tài)系統(tǒng)絕對(duì)是巨大的。 盡管可能有200萬(wàn)千兆字節(jié)的Python模塊,但是您可以使用通常與Python中的科學(xué)計(jì)算相關(guān)的標(biāo)準(zhǔn)庫(kù)和軟件包學(xué)習(xí)一些有用的技巧。

№1:反向串

盡管看似基本,但使用char循環(huán)反轉(zhuǎn)字符串可能非常繁瑣且令人討厭。 幸運(yùn)的是,Python包含一個(gè)簡(jiǎn)單的內(nèi)置操作來(lái)精確地執(zhí)行此任務(wù)。 為此,我們只需訪問(wèn)字符串上的索引::-1。

a = "!dlrow olleH"

backward = a[::-1]

Python的10個(gè)神奇的技巧

 

№2:變暗作為變量

在大多數(shù)語(yǔ)言中,為了將數(shù)組放入一組變量中,我們需要迭代遍歷值或按位置訪問(wèn)暗點(diǎn),如下所示:

firstdim = array[1]

但是,在Python中,有一種更酷的方法。 為了將值列表更改為變量,我們可以簡(jiǎn)單地將變量名設(shè)置為等于數(shù)組,且數(shù)組長(zhǎng)度相同:

array = [5, 10, 15, 20]

five, ten, fift, twent = array

Python的10個(gè)神奇的技巧

 

№3:Itertools

如果您打算花任何時(shí)間在Python上花費(fèi)任何時(shí)間,那么您肯定會(huì)想要熟悉itertools。 Itertools是標(biāo)準(zhǔn)庫(kù)中的一個(gè)模塊,可讓您不斷解決迭代問(wèn)題。 它不僅使編寫(xiě)復(fù)雜的循環(huán)變得容易得多,而且使您的代碼更快,更簡(jiǎn)潔。 這只是Itertools用法的一個(gè)示例,但有數(shù)百個(gè):

c = [[1, 2], [3, 4], [5, 6]]

# Let's convert this matrix to a 1 dimensional list.import itertools as

itnewlist = list(it.chain.from_iterable(c))

№4:智能開(kāi)箱

迭代地解壓縮值可能會(huì)非常耗時(shí)且費(fèi)力。 幸運(yùn)的是,Python有幾種很酷的方式可以解壓縮列表! 一個(gè)例子是*,它將填充未分配的值并將它們添加到變量名下的新列表中。

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

Python的10個(gè)神奇的技巧

 

№5:枚舉

如果您不了解枚舉,則可能應(yīng)該熟悉它。 枚舉將允許您獲取列表中某些值的索引。 當(dāng)使用數(shù)組而不是數(shù)據(jù)框架時(shí),這在數(shù)據(jù)科學(xué)中特別有用。

for i,w in enumerate(array):

print(i,w)

Python的10個(gè)神奇的技巧

 

№6:名字切片

在Python中拆分列表非常簡(jiǎn)單! 可以使用各種各樣的出色工具,但是肯定有價(jià)值的一個(gè)功能是可以命名列表的片段。 這對(duì)于Python中的線性代數(shù)特別有用。

a = [0, 1, 2, 3, 4, 5]

LASTTHREE = slice(-3, None)

slice(-3, None, None)

print(a[LASTTHREE])

Python的10個(gè)神奇的技巧

 

№7:組相鄰列表

當(dāng)然可以在for循環(huán)中相當(dāng)容易地對(duì)相鄰循環(huán)進(jìn)行分組,特別是通過(guò)使用zip(),但這當(dāng)然不是最好的處理方式。 為了使事情變得更加輕松和快捷,我們可以使用zip編寫(xiě)一個(gè)lambda表達(dá)式,該表達(dá)式將對(duì)我們的相鄰列表進(jìn)行分組,如下所示:

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)

№8:生成器的next()迭代

在編程的大多數(shù)正常情況下,我們可以使用一個(gè)計(jì)數(shù)器來(lái)訪問(wèn)一個(gè)索引并獲取我們的倉(cāng)位號(hào),該計(jì)數(shù)器將只是添加到以下值的值:

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 are accessing the position of i

但是,我們可以使用next()代替它。 Next使用一個(gè)迭代器,該迭代器將當(dāng)前位置存儲(chǔ)在內(nèi)存中,并在后臺(tái)遍歷列表。

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

print(next(g))

print(next(g))

Python的10個(gè)神奇的技巧

 

№9:Counter

標(biāo)準(zhǔn)庫(kù)中另一個(gè)很棒的模塊是集合,我今天想向您介紹的是集合中的計(jì)數(shù)器。 使用Counter,我們可以輕松獲得列表的計(jì)數(shù)。 這對(duì)于獲取數(shù)據(jù)中的值總數(shù),獲取數(shù)據(jù)的空計(jì)數(shù)以及查看數(shù)據(jù)的唯一值很有用。 我知道你在想什么

"為什么不只使用Pandas?"

這當(dāng)然是正確的觀點(diǎn)。 但是,使用Pandas進(jìn)行自動(dòng)化無(wú)疑會(huì)更加困難,并且只是在部署算法時(shí)需要將其添加到虛擬環(huán)境中的另一個(gè)依賴(lài)項(xiàng)。 此外,Python中的計(jì)數(shù)器類(lèi)型具有Pandas系列所沒(méi)有的許多功能,這使其在某些情況下更加有用。

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:出隊(duì)

收集模塊中另一個(gè)很棒的事情是出隊(duì)。 看看我們可以用這種類(lèi)型做的所有整潔的事情!

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的10個(gè)神奇的技巧

 

(本文翻譯自Emmett Boudreau的文章《10 Smooth Python Tricks For Python Gods》,參考:
https://towardsdatascience.com/10-smooth-python-tricks-for-python-gods-2e4f6180e5e3)

分享到:
標(biāo)簽:Python
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定