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