前情回顧
大家好,我又回來了。今天我會繼續(xù)和大家分享itertools這個神奇的自帶庫,首先,讓我們回顧一下上一期結(jié)尾的時候我們講到的3個方法:
combinations()
combinations_with_replacement()
permutations()
讓我們對這3個在排列組合中經(jīng)常會使用到的函數(shù)做個總結(jié)
combinations()基礎概念
模板:combinations(iterable, n)
參數(shù):iterable為可迭代的對象(list,tuple...), n為想要的組合包含的元素數(shù)
返回值: 返回在iterable里n個元素組成的tuple的全部組合(不考慮順序,元素自身不可重復)
應用實例
import itertools as it lst = [1,2,3] result = list(it.combinations(lst,2)) print(result) Out: [(1, 2), (1, 3), (2, 3)]
這里我們從lst這個list里面選取所有由兩個元素組成的組合,得到結(jié)果如圖所示,這里沒有考慮順序,因此我們不會看到(1,2)和(2,1)被算作兩種組合,元素自身不可重復,所以沒有(1,1),(2,2),(3,3)的組合出現(xiàn)
combinations_with_replacement()基礎概念
模板:combinations_with_replacement(iterable, n)
參數(shù):iterable為可迭代的對象(list,tuple...), n為想要的組合包含的元素數(shù)
返回值: 返回在iterable里n個元素組成的tuple的全部組合(不考慮順序,元素自身可重復)
應用實例
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)的組合,也就是說允許每個元素自己和自己組合
permutations()基礎概念
模板:permutations(iterable, n=None)
參數(shù):iterable為可迭代的對象(list,tuple...), n為想要的組合包含的元素數(shù)
返回值: 返回在iterable里n個元素組成的tuple的全部組合(考慮順序,元素自身不可重復)
應用實例
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é)果是自身元素不能重復的情況下,一個iterable里面由n個元素構(gòu)成的全部組合,考慮順序
不同點匯總我們這里可以簡單匯總一下三個函數(shù)的不同點,匯總一張精華滿滿的表格送個大家,希望大家如果日后有一天需要用到的話可以回來我這里看看,順便給勤勞的博主點個贊也是好的
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/43241.html
摘要:將每一行作為返回,其中是每行中的列名。對于每一行,都會生成一個對象,其中包含和列中的值。它返回一個迭代器,是迭代結(jié)果都為的情況。深度解析至此全劇終。 簡單實戰(zhàn) 大家好,我又來了,在經(jīng)過之前兩篇文章的介紹后相信大家對itertools的一些常見的好用的方法有了一個大致的了解,我自己在學完之后仿照別人的例子進行了真實場景下的模擬練習,今天和大家一起分享,有很多部分還可以優(yōu)化,希望有更好主意...
摘要:例如,以下對兩個的相應元素求和這個例子很好的解釋了如何構(gòu)建中所謂的迭代器代數(shù)的函數(shù)的含義。為簡單起見,假設輸入的長度可被整除。接受兩個參數(shù)一個可迭代的正整數(shù)最終會在中個元素的所有組合的元組上產(chǎn)生一個迭代器。 前言 大家好,今天想和大家分享一下我的itertools學習體驗及心得,itertools是一個Python的自帶庫,內(nèi)含多種非常實用的方法,我簡單學習了一下,發(fā)現(xiàn)可以大大提升工作...
摘要:與上面的操作類似,可以使用多種運算符和方法來更改集合的內(nèi)容。通過修改集合元素方法運算符用法通過修改集合和作用是向集合中添加中所有不存在的元素。 Set是什么 大家好,恰逢初五迎財神,先預祝大家新年財源滾滾!!在上一期詳解tuple元組的用法后,今天我們來看Python里面最后一種常見的數(shù)據(jù)類型:集合(Set) 與dict類似,set也是一組key的集合,但不存儲value。由于key不...
摘要:什么是推導式大家好,今天為大家?guī)韱栁易钕矚g的推導式使用指南,讓我們先來看看定義推導式是的一種獨有特性,推導式是可以從一個數(shù)據(jù)序列構(gòu)建另一個新的數(shù)據(jù)序列的結(jié)構(gòu)體。 什么是推導式 大家好,今天為大家?guī)韱栁易钕矚g的Python推導式使用指南,讓我們先來看看定義~ 推導式(comprehensions)是Python的一種獨有特性,推導式是可以從一個數(shù)據(jù)序列構(gòu)建另一個新的數(shù)據(jù)序列的結(jié)構(gòu)體。...
閱讀 1018·2019-08-30 15:55
閱讀 1481·2019-08-30 13:55
閱讀 2080·2019-08-29 17:13
閱讀 2920·2019-08-29 15:42
閱讀 1410·2019-08-26 14:04
閱讀 1100·2019-08-26 13:31
閱讀 3361·2019-08-26 11:34
閱讀 922·2019-08-23 18:25