成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python 進(jìn)階之路 (十) 再立Flag, 社區(qū)最全的itertools深度解析(中)

LMou / 888人閱讀

前情回顧

大家好,我又回來(lái)了。今天我會(huì)繼續(xù)和大家分享itertools這個(gè)神奇的自帶庫(kù),首先,讓我們回顧一下上一期結(jié)尾的時(shí)候我們講到的3個(gè)方法:

combinations()

combinations_with_replacement()

permutations()

讓我們對(duì)這3個(gè)在排列組合中經(jīng)常會(huì)使用到的函數(shù)做個(gè)總結(jié)

combinations()
基礎(chǔ)概念

模板:combinations(iterable, n)

參數(shù):iterable為可迭代的對(duì)象(list,tuple...), n為想要的組合包含的元素?cái)?shù)

返回值: 返回在iterable里n個(gè)元素組成的tuple的全部組合(不考慮順序,元素自身不可重復(fù))

應(yīng)用實(shí)例
import itertools as it
lst = [1,2,3]
result = list(it.combinations(lst,2))
print(result)

Out: [(1, 2), (1, 3), (2, 3)]

這里我們從lst這個(gè)list里面選取所有由兩個(gè)元素組成的組合,得到結(jié)果如圖所示,這里沒(méi)有考慮順序,因此我們不會(huì)看到(1,2)和(2,1)被算作兩種組合,元素自身不可重復(fù),所以沒(méi)有(1,1),(2,2),(3,3)的組合出現(xiàn)

combinations_with_replacement()
基礎(chǔ)概念

模板:combinations_with_replacement(iterable, n)

參數(shù):iterable為可迭代的對(duì)象(list,tuple...), n為想要的組合包含的元素?cái)?shù)

返回值: 返回在iterable里n個(gè)元素組成的tuple的全部組合(不考慮順序,元素自身可重復(fù))

應(yīng)用實(shí)例
import itertools as it
lst = [1,2,3]
result = list(it.combinations_with_replacement(lst,2))
print(result)

Out: [(1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3)]

和剛才的區(qū)別是多了(1,1),(2,2),(3,3)的組合,也就是說(shuō)允許每個(gè)元素自己和自己組合

permutations()
基礎(chǔ)概念

模板:permutations(iterable, n=None)

參數(shù):iterable為可迭代的對(duì)象(list,tuple...), n為想要的組合包含的元素?cái)?shù)

返回值: 返回在iterable里n個(gè)元素組成的tuple的全部組合(考慮順序,元素自身不可重復(fù))

應(yīng)用實(shí)例
import itertools as it
lst = [1,2,3]
result = list(it.permutations(lst,2))
print(result)

Out: [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]


我們用permutations得到的結(jié)果是自身元素不能重復(fù)的情況下,一個(gè)iterable里面由n個(gè)元素構(gòu)成的全部組合,考慮順序

不同點(diǎn)匯總

我們這里可以簡(jiǎn)單匯總一下三個(gè)函數(shù)的不同點(diǎn),匯總一張精華滿滿的表格送個(gè)大家,希望大家如果日后有一天需要用到的話可以回來(lái)我這里看看,順便給勤勞的博主點(diǎn)個(gè)贊也是好的

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43241.html

相關(guān)文章

  • Python 進(jìn)階之路 (一) 再立Flag, 社區(qū)最全itertools深度解析(下)

    摘要:將每一行作為返回,其中是每行中的列名。對(duì)于每一行,都會(huì)生成一個(gè)對(duì)象,其中包含和列中的值。它返回一個(gè)迭代器,是迭代結(jié)果都為的情況。深度解析至此全劇終。 簡(jiǎn)單實(shí)戰(zhàn) 大家好,我又來(lái)了,在經(jīng)過(guò)之前兩篇文章的介紹后相信大家對(duì)itertools的一些常見(jiàn)的好用的方法有了一個(gè)大致的了解,我自己在學(xué)完之后仿照別人的例子進(jìn)行了真實(shí)場(chǎng)景下的模擬練習(xí),今天和大家一起分享,有很多部分還可以優(yōu)化,希望有更好主意...

    tomorrowwu 評(píng)論0 收藏0
  • Python 進(jìn)階之路 (九) 再立Flag, 社區(qū)最全itertools深度解析(上)

    摘要:例如,以下對(duì)兩個(gè)的相應(yīng)元素求和這個(gè)例子很好的解釋了如何構(gòu)建中所謂的迭代器代數(shù)的函數(shù)的含義。為簡(jiǎn)單起見(jiàn),假設(shè)輸入的長(zhǎng)度可被整除。接受兩個(gè)參數(shù)一個(gè)可迭代的正整數(shù)最終會(huì)在中個(gè)元素的所有組合的元組上產(chǎn)生一個(gè)迭代器。 前言 大家好,今天想和大家分享一下我的itertools學(xué)習(xí)體驗(yàn)及心得,itertools是一個(gè)Python的自帶庫(kù),內(nèi)含多種非常實(shí)用的方法,我簡(jiǎn)單學(xué)習(xí)了一下,發(fā)現(xiàn)可以大大提升工作...

    tuantuan 評(píng)論0 收藏0
  • Python 進(jìn)階之路 (四) 先立Flag, 社區(qū)最全Set用法集錦

    摘要:與上面的操作類似,可以使用多種運(yùn)算符和方法來(lái)更改集合的內(nèi)容。通過(guò)修改集合元素方法運(yùn)算符用法通過(guò)修改集合和作用是向集合中添加中所有不存在的元素。 Set是什么 大家好,恰逢初五迎財(cái)神,先預(yù)祝大家新年財(cái)源滾滾??!在上一期詳解tuple元組的用法后,今天我們來(lái)看Python里面最后一種常見(jiàn)的數(shù)據(jù)類型:集合(Set) 與dict類似,set也是一組key的集合,但不存儲(chǔ)value。由于key不...

    nodejh 評(píng)論0 收藏0
  • Python 進(jìn)階之路 (八) 最用心推導(dǎo)式詳解 (附簡(jiǎn)單實(shí)戰(zhàn)及源碼)

    摘要:什么是推導(dǎo)式大家好,今天為大家?guī)?lái)問(wèn)我最喜歡的推導(dǎo)式使用指南,讓我們先來(lái)看看定義推導(dǎo)式是的一種獨(dú)有特性,推導(dǎo)式是可以從一個(gè)數(shù)據(jù)序列構(gòu)建另一個(gè)新的數(shù)據(jù)序列的結(jié)構(gòu)體。 什么是推導(dǎo)式 大家好,今天為大家?guī)?lái)問(wèn)我最喜歡的Python推導(dǎo)式使用指南,讓我們先來(lái)看看定義~ 推導(dǎo)式(comprehensions)是Python的一種獨(dú)有特性,推導(dǎo)式是可以從一個(gè)數(shù)據(jù)序列構(gòu)建另一個(gè)新的數(shù)據(jù)序列的結(jié)構(gòu)體。...

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

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

0條評(píng)論

LMou

|高級(jí)講師

TA的文章

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