91精产品自偷自偷综合官网版下载-91精产品自偷自偷综合下-91精品-91精品91久久久-91精品成人-91精品成人www

網站建設資訊

NEWS

網站建設資訊

Python中的itertools模塊的用法

本篇內容主要講解“Python中的itertools模塊的用法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python中的itertools模塊的用法”吧!

十載的白山網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網營銷的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整白山建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。成都創新互聯公司從事“白山網站設計”,“白山網站推廣”以來,每個客戶項目都認真落實執行。

在Python中有一個功能強大的迭代工具包itertools,是Python自帶的標準工具包之一。

product

由于itertools是內置庫,不需要任何安裝,直接import itertools即可。

product 用于求多個可迭代對象的笛卡爾積(Cartesian Product),它跟嵌套的 for 循環等價.即:

笛卡爾乘積是指在數學中,兩個集合X和Y的笛卡爾積(Cartesian product),又稱直積,表示為X × Y。

product(A, B)和 ``((x,y) for x in A for y in B)`一樣.

import itertools for item in itertools.product([1,2,3],[100,200]):     print(item)           # 輸出如下 (1, 100) (1, 200) (2, 100) (2, 200) (3, 100) (3, 200)

permutations

通俗地講,permutations就是返回可迭代對象的所有數學或者字符的全排列方式。

全排列,即產生指定數目的元素的所有排列(順序有關),也就是高中排列組合中的那個A。

permutations它接受一個集合對象,然后產生一個元組序列。

比如print(list(itertools.permutations('abc',3))),共有種情況。

items = ['a','b','c'] from itertools import permutations for i in permutations(items):     print(i) #排列組合  print(list(itertools.permutations('abc',3)))  # 輸出如下 ('a', 'b', 'c') ('a', 'c', 'b') ('b', 'a', 'c') ('b', 'c', 'a') ('c', 'a', 'b') ('c', 'b', 'a') [('a', 'b', 'c'), ('a', 'c', 'b'), ('b', 'a', 'c'), ('b', 'c', 'a'), ('c', 'a', 'b'), ('c', 'b', 'a')]

如果需要指定長度的所有排列,可以傳遞一個可選的長度參數r。

items = ['a','b','c'] from itertools import permutations for i in permutations(items,2):     print(i) #排列組合      # 輸出如下 ('a', 'b') ('a', 'c') ('b', 'a') ('b', 'c') ('c', 'a') ('c', 'b')

combinations

求列表或生成器中指定數目的元素不重復的所有組合

itertools.permutations(iter,r) 和  itertools.combinations(iter,r)的區別是:前者是permutations允許重復使用,后者combinations是不能重復使用

>>> print(list(itertools.combinations('abc',3))) [('a', 'b', 'c')]

combinations_with_replacement

combinations_with_replacement和combinations很相似,唯一的不同在于前者combinations_with_replacement集合類型中的數據是可以重復的

>>> print(list(itertools.combinations_with_replacement('abc',3))) [('a', 'a', 'a'), ('a', 'a', 'b'), ('a', 'a', 'c'), ('a', 'b', 'b'), ('a', 'b', 'c'), ('a', 'c', 'c'), ('b', 'b', 'b'), ('b', 'b', 'c'), ('b', 'c', 'c'), ('c', 'c', 'c')]

accumulate

accumulate用于對列表中元素逐個累加

>>> import itertools >>> x = itertools.accumulate(range(10)) >>> print(list(x)) [0, 1, 3, 6, 10, 15, 21, 28, 36, 45]

compress

compress()是篩選工具,它接受一個可迭代對象以及一個布爾選擇序列作為輸入,輸出時會將所有布爾序列中為True的可迭代對象輸出。

import itertools  its=["a","b","c","d","e","f","g","h"] selector=[True,False,1,0,3,False,-2,"y"] for item in itertools.compress(its,selector):     print (item)      a c e g h

count

count(初值=0, 步長=1)是 創建一個迭代器,從傳入的起始參數開始的均勻間隔的數值。

我們來看一個簡單的例子

from itertools import count for i in count(10): #從10開始無限循環     if i > 20:          break     else:         print(i)   10 11 12 13 14 15 16 17 18 19 20

chain

chain鏈條,主要用來把多個序列連在一起做迭代。

import itertools chain = itertools.chain([1, 2, 3], [4, 5, 6]) for c in chain:    print(c) 1 2 3 4 5 6

chain還有一個非常重要的功能就是展平列表。

>>> list(itertools.chain([1, 2, 3], [4, 5], [6] ,[7,8])) [1, 2, 3, 4, 5, 6, 7, 8]

cycle

import itertools cycle = itertools.cycle([1, 2, 3]) for c in cycle:    print(c)

運行結果輸出 1 2 3 1 2 3……一直周而復始,永不停息。

到此,相信大家對“Python中的itertools模塊的用法”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!


分享文章:Python中的itertools模塊的用法
分享URL:http://www.yuzhuanjia.cn/article/gjgjcs.html
主站蜘蛛池模板: 日韩av无码精品一二三区 | 丰满女邻居做爰BD在线电影 | 99久久人妻精品 | 91福利在线播放 | 动漫3d精品一区二区三区乱码 | 91香蕉视频观看精品在线 | 一区二区视频免费 | 91麻豆精品国产一区色欲 | 国产91亚洲福利精品一区二区 | av在线无修一区 | 91香蕉视频在线看 | 99久久精品美女高潮喷水 | āV第三区亚洲狠狠婷婷综合久久 | 91国内精品久久久久无码精华液毛片 | www.日韩.com | 国产va在线在线观看视频 | 99精产国品一二三产区区别在线 | 果冻传媒在线观看九 | 99久久久无码国产精品 | cao在线| 92看片淫黄大片一级 | 国产va免费精品高清在线观看 | 午夜无码毛片AV久久 | 99热在线免费播放 | 99热在线 | 国产aaaaaa | av中文字幕| 91麻豆人妻春色影视 | 国产91精品久线在线观看 | 韩国少妇爆白浆视频 | 99久re热视频这里 | 99久久久国产精品免费软件 | 国产v一区二区三区 | 果冻传媒潘甜甜 | 午夜福利成人电影 | 福利片无码区在线观看视频 | 91麻豆精品国产一级 | av综合网| 91视频亚洲无码精彩视频 | av人妻精品一区二区三区 | 午夜福利视频h |