def yield_and_skip(iterable,skip):
for i in iterable:
print(skip(i))
for x in range(skip(i)):
pass
yield i
我定義了一個稱爲skip_yield的函數,它從iterable產生一個值,然後跳過剛剛生成的值上調用函數參數時指定的值的數量。它需要2個參數:skip是一個小函數。 但是,如果我嘗試這樣做:python iterator skip_func
print(''.join([v for v in yield_and_skip('abbabxcabbcaccabb',lambda x : {'a':1,'b':2,'c':3}.get(x,0))]))
它給了我:
abbabcabbcaccabb
,但它應該給我:
abxccab
任何想法?
什麼是具有空體('pass')的循環在這裏的呢? – GingerPlusPlus
你能分享yield_and_skip函數嗎? – pmaniyan
請不要污衊你的問題。 – vaultah