摘要:最近由于需要做一些排列組合的需要,本來(lái)沒(méi)想到自帶庫(kù)中會(huì)有這功能,還花了點(diǎn)時(shí)間寫(xiě)了下,后來(lái)翻看標(biāo)準(zhǔn)庫(kù)的時(shí)候,發(fā)現(xiàn),這貨居然直接提供了,而且還提供了幾種形式,之間上代碼輸入結(jié)果很漂亮。
最近由于需要做一些排列組合的需要,本來(lái)沒(méi)想到python自帶庫(kù)中會(huì)有這功能,還花了點(diǎn)時(shí)間寫(xiě)了下,后來(lái)翻看python標(biāo)準(zhǔn)庫(kù)的時(shí)候,發(fā)現(xiàn),這貨居然直接提供了,而且還提供了幾種形式,之間上代碼:
import itertools t_list = ["a","b","c","d"] print("product") for i in itertools.product(t_list,repeat=2): print(i) print("permutations") for i in itertools.permutations(t_list, 2): print(i) print("combinations") for x in xrange(len(t_list)): for i in itertools.combinations(t_list,x+1): print(i) print("combinations_with_replacement") for i in itertools.combinations_with_replacement(t_list,2): print(i)
輸入結(jié)果
product ("a", "a") ("a", "b") ("a", "c") ("a", "d") ("b", "a") ("b", "b") ("b", "c") ("b", "d") ("c", "a") ("c", "b") ("c", "c") ("c", "d") ("d", "a") ("d", "b") ("d", "c") ("d", "d") permutations ("a", "b") ("a", "c") ("a", "d") ("b", "a") ("b", "c") ("b", "d") ("c", "a") ("c", "b") ("c", "d") ("d", "a") ("d", "b") ("d", "c") combinations ("a",) ("b",) ("c",) ("d",) ("a", "b") ("a", "c") ("a", "d") ("b", "c") ("b", "d") ("c", "d") ("a", "b", "c") ("a", "b", "d") ("a", "c", "d") ("b", "c", "d") ("a", "b", "c", "d") combinations_with_replacement ("a", "a") ("a", "b") ("a", "c") ("a", "d") ("b", "b") ("b", "c") ("b", "d") ("c", "c") ("c", "d") ("d", "d")
很漂亮。看來(lái)還是之前某位朋友說(shuō)得對(duì),python標(biāo)準(zhǔn)庫(kù),至少得過(guò)一遍,最好能有三遍并有對(duì)應(yīng)的練習(xí),這樣玩,會(huì)玩的更嗨皮~
---EOF---
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/37694.html
摘要:例如,以下對(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)可以大大提升工作...
摘要:抓住了迭代器模式的本質(zhì),即是迭代,賦予了它極高的地位。輸出結(jié)果輸出結(jié)果小結(jié)迭代器模式幾乎是種設(shè)計(jì)模式中最常用的設(shè)計(jì)模式,本文主要介紹了是如何運(yùn)用迭代器模式,并介紹了模塊生成迭代器的種方法,以及種生成迭代器的內(nèi)置方法。 showImg(https://segmentfault.com/img/bVbmv7W?w=4272&h=2848); 在軟件開(kāi)發(fā)領(lǐng)域中,人們經(jīng)常會(huì)用到這一個(gè)概念——設(shè)...
摘要:抓住了迭代器模式的本質(zhì),即是迭代,賦予了它極高的地位。輸出結(jié)果輸出結(jié)果小結(jié)迭代器模式幾乎是種設(shè)計(jì)模式中最常用的設(shè)計(jì)模式,本文主要介紹了是如何運(yùn)用迭代器模式,并介紹了模塊生成迭代器的種方法,以及種生成迭代器的內(nèi)置方法。 showImg(https://segmentfault.com/img/bVbmv7W?w=4272&h=2848); 在軟件開(kāi)發(fā)領(lǐng)域中,人們經(jīng)常會(huì)用到這一個(gè)概念——設(shè)...
閱讀 3244·2021-09-07 10:10
閱讀 3589·2019-08-30 15:44
閱讀 2592·2019-08-30 15:44
閱讀 3016·2019-08-29 15:11
閱讀 2234·2019-08-28 18:26
閱讀 2754·2019-08-26 12:21
閱讀 1120·2019-08-23 16:12
閱讀 3037·2019-08-23 14:57