摸魚小幫手 Python的itertools模組

2021-08-21 17:18:59 字數 3110 閱讀 7970

終止於最短輸入序列的迭代器

組合生成器

>>> for i in itertools.count():

print(i)01

234...

>>> for i in itertools.cycle([2,3,4,5]):

print(i)23

4523

452...

>>> for i in itertools.repeat('雪碧'):

print(i)

雪碧雪碧

雪碧雪碧

雪碧...

chain

()compress

()dropwhile

()groupby

()ifilter

()ifilte***lse

()islice

()imap

()starmap

()tee

()takewhile

()izip

()izip_longest

()

>>> a='把你的心'

>>> b=' 我的心'

>>> c=' 串一串'

>>>

for i in itertools.chain(a,b,c):

print(i)把你

的心我的

心串一串

>>> selec=[true,false,42,0,-42,'shuang']

>>> items=['mole','xiangxiangji','tazhenmei','wodene','migang','shuangsile']

>>>

for i in itertools.compress(items,selec):

print(i)

mole

tazhenmei

migang

shuangsile

>>> 

for i in itertools.takewhile(lambda x:x=='moyu',['moyu','jinye']):

print(i)

moyu

>>>

for i in itertools.filte***lse(lambda x:x=='moyu',['moyu','jinye']):

print(i)

jinye

>>> 

print(i)

('t', 'r', 'f', 'a')

('w', 'a', 'l', 'p')

('i', 'i', 'u', 'p')

('l', 'n', 't', 'l')

('i', 'b', 't', 'e')

('g', 'o', 'e', ' ')

('h', 'w', 'r', 'b')

('t', ' ', 's', 'l')

(' ', 'd', 'h', 'o')

('s', 'a', 'y', 'o')

('p', 's', 'biu', 'm')

('a', 'h', 'biu', 'biu')

('r', 'biu', 'biu', 'biu')

('k', 'biu', 'biu', 'biu')

('l', 'biu', 'biu', 'biu')

('e', 'biu', 'biu', 'biu')

>>> for i in itertools.product('tom','jerry',repeat=1):

print(i)

('t', 'j')

('t', 'e')

('t', 'r')

('t', 'r')

('t', 'y')

('o', 'j')

('o', 'e')

('o', 'r')

('o', 'r')

('o', 'y')

('m', 'j')

('m', 'e')

('m', 'r')

('m', 'r')

('m', 'y')

import itertools

digi=[1,2,3]

foritem

in itertools.permutations(digi,2):

print(item)

foritem

in itertools.permutations(range(3)):

print(item)

(1, 2)

(1, 3)

(2, 1)

(2, 3)

(3, 1)

(3, 2)

(0, 1, 2)

(0, 2, 1)

(1, 0, 2)

(1, 2, 0)

(2, 0, 1)

(2, 1, 0)

import itertools

digi=[1,2,3]

for item in itertools.combinations(digi,2):

print(item)

print ("\n")

for item in itertools.combinations(range(3),2):

print (item)

(1, 2)

(1, 3)

(2, 3)

(0, 1)

(0, 2)

(1, 2)

import itertools

digi=[1,2,3]

for item in itertools.combinations_with_replacement(digi,2):

print(item)

(1, 1)

(1, 2)

(1, 3)

(2, 2)

(2, 3)

(3, 3)

Vuex 白話教程第五講 Vuex 的小幫手

先說兩句 前面已經講完了 vuex 下的 state getter mutation 及 action 這四駕馬車,不知道大家是否已經理解。當然,要想真正熟練掌握的話,還是需要不斷的練習和動手實踐才行。其實只要把這四駕馬車完全熟練駕馭了,那麼應對一些中小型的專案,基本上就已經沒啥問題了,後面的 mo...

Python 我工作學習中的好幫手

最近在工作中,我需要在solaris上寫很多測試或者輔助工作的指令碼。因為單位只推薦使用perl或者python,所以我不能選擇我最喜歡的ruby,當然我不會去選擇perl 不是說perl不好,只是我不喜歡perl 其實python我也有不喜歡的地方,譬如那種ugly的縮排,還有混雜著len lis...

我的python小程式

encoding utf 8 import os,tempfile,urllib2 import thread import time,random import mysqldb 獲得url內容,並返回內容 def geturlcontent url content for line in urll...