国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python 技巧總結(jié)

JackJiang / 531人閱讀

摘要:內(nèi)置函數(shù)遍歷,并索引輸出如果為,返回的商和余數(shù)組成的元組,。參見(jiàn)短路求值裝飾器示例或或結(jié)果數(shù)組轉(zhuǎn)置矩陣碾平分組字典,互換如果存在,返回,否則返回,默認(rèn)值為。相比較,只能獲取中存在的的值,如果不存在則觸發(fā)。

內(nèi)置函數(shù) enumerate

enumerate(list[,start=0]):遍歷list,并索引

my_list = ["apple", "banana", "grapes", "pear"]
for i, value in enumerate(my_list, 1):
    print(i, value)

輸出:

(1, "apple")
(2, "banana")
(3, "grapes")
(4, "pear")
divmod(x,y)

如果 xint,返回x÷y的商和余數(shù)組成的元組,(x//y, x%y)
如果 xfloat,則返回 (math.floor(x / y), x%y)

可以以此很方便的形成二維數(shù)組:

>>>[divmod(i, 3) for i in range(9)]
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
短路求值 三元運(yùn)算

利用 python 邏輯運(yùn)算的短路求值特性,我們可以實(shí)現(xiàn)python不支持的三元運(yùn)算符 bool ? a : b

bool and a or b     # 其中要求 a, b 為真

當(dāng)然有更pythonic 的實(shí)現(xiàn)方法:

a if bool else b
and 與 or 優(yōu)先級(jí)
True or True and False    #=> True

造成結(jié)果為True的原因是因?yàn)槎搪非笾担皇且驗(yàn)榇嬖谝芟胫械膬?yōu)先級(jí)問(wèn)題--True or (True and False),orand` 一起使用,遵循自左向右計(jì)算原則。

參見(jiàn):短路求值

裝飾器 示例1:
table = [i * i for i in range(5)]

或:

def call(*argv, **kwargs):
    def call_fn(fn):
        return fn(*argv, **kwargs)
    return call_fn
@call(5)
def table(n):
    value = []
    for i in range(n):
        value.append(i*i)
    return value

或:

@list
@call(5)
def table(n):
    for i in range(n):
        yield i * i

結(jié)果:

len(table), table[3]    #=> (5, 9)
數(shù)組(List) 轉(zhuǎn)置矩陣
m = [[1,2],[3,4]]
zip(*m)
碾平list
a = [1, 2, [3, 4], [[5, 6], [7, 8]]]
flatten = lambda x: [y for l in x for y in flatten(l)] 
    if type(x) is list else [x]
flatten(a)
# [1,2,3,4,5,6,7,8]
list分組
a=[3, 8, 9, 4, 1, 10, 6, 7, 2, 5]
print([a[i:i+3] for i in range(0,len(a),3)])
# [[3, 8, 9], [4, 1, 10], [6, 7, 2], [5]]
字典(Dict) key,value互換
m = {"a": 1, "b": 2, "c": 3, "d": 4}
{v: k for k, v in m.items()}
# {1: "a", 2: "b", 3: "c", 4: "d"}
Dict.get()

dict.get(key[, default=None]): 如果key存在,返回dict[key],否則返回defaultdefault默認(rèn)值為None。相比較,dict["key"] 只能獲取 dict 中存在的key的值,如果不存在則觸發(fā) KeyError。利用此方法,在對(duì)字典進(jìn)行某些運(yùn)算時(shí)會(huì)更優(yōu)雅:

if key not in dct:
    dct[key] = 0
dct[key] = dct[key] + 1
dct[key] = dct.get(key, 0) + 1
d = {
    "a": 1,
    "b": 2,
}
d.get("c", 3)   #=> 3
Dict.setdefault()

Dict.setdefault(key, default):如果存在,返回 dct[key],不存在則把 dct[key] 設(shè)為 default 并返回它。當(dāng)一個(gè)默認(rèn)的值是一個(gè)你可以修改的對(duì)象的時(shí)候這是很有用的。

dct = {}
for key, value in data:
    if key in dct:
        dct[key].append(value)
    else:
        dct[key] = [value]
dct = {}
for (key, value) in data:
    group = dct.setdefault(key, []) # key might exist already
    group.append(value)

參見(jiàn):Python:字典的劇本

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/40695.html

相關(guān)文章

  • 「碼個(gè)蛋」2017年200篇精選干貨集合

    摘要:讓你收獲滿滿碼個(gè)蛋從年月日推送第篇文章一年過(guò)去了已累積推文近篇文章,本文為年度精選,共計(jì)篇,按照類別整理便于讀者主題閱讀。本篇文章是今年的最后一篇技術(shù)文章,為了讓大家在家也能好好學(xué)習(xí),特此花了幾個(gè)小時(shí)整理了這些文章。 showImg(https://segmentfault.com/img/remote/1460000013241596); 讓你收獲滿滿! 碼個(gè)蛋從2017年02月20...

    wangtdgoodluck 評(píng)論0 收藏0
  • Python 基礎(chǔ)起步 (十一) 寫在最后的話(附優(yōu)秀資源匯總)

    摘要:總結(jié)不知不覺(jué)作為一個(gè)小白已經(jīng)寫完了最最基礎(chǔ)的簡(jiǎn)單教程,如果你也和我一樣從事金融行業(yè),或者毫無(wú)編程基礎(chǔ)的小白,希望我的教程可以幫到你,這是基礎(chǔ)起步的最終篇,我希望能和大家簡(jiǎn)單介紹一下后續(xù)介紹以及很多幫助到我的優(yōu)秀的平臺(tái)。 總結(jié) 不知不覺(jué)作為一個(gè)小白已經(jīng)寫完了最最基礎(chǔ)的Python簡(jiǎn)單教程,如果你也和我一樣從事金融行業(yè),或者毫無(wú)編程基礎(chǔ)的小白,希望我的教程可以幫到你,這是Python基礎(chǔ)起...

    mrcode 評(píng)論0 收藏0
  • Python 進(jìn)階之路 (二) Dict 進(jìn)階寶典,初二快樂(lè)!

    摘要:新年快樂(lè)大家好,今天是大年初二,身在國(guó)外沒(méi)有過(guò)年的氛圍,只能踏實(shí)寫寫文章,對(duì)社區(qū)做點(diǎn)貢獻(xiàn),在此祝大家新年快樂(lè)上一期為大家梳理了一些的進(jìn)階用法,今天我們來(lái)看字典的相關(guān)技巧,我個(gè)人在編程中對(duì)字典的使用非常頻繁,其實(shí)對(duì)于不是非常大的數(shù)據(jù)存儲(chǔ)需求, 新年快樂(lè) 大家好,今天是大年初二,身在國(guó)外沒(méi)有過(guò)年的氛圍,只能踏實(shí)寫寫文章,對(duì)社區(qū)做點(diǎn)貢獻(xiàn),在此祝大家新年快樂(lè)!上一期為大家梳理了一些List的進(jìn)...

    ChristmasBoy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<