python自學(八) 高階函式 filter

2021-09-25 08:39:38 字數 1713 閱讀 7053

後記(字串反轉)

一、filter

接著昨天的學習filter

這個函式算是比較熟悉的了,和js的功能效果基本一致:對於傳入的列表的每乙個元素執行目標函式,返回函式中返回值為true的元素,組成乙個新的列表

def f

(item)

:filter

(f, list)

作業一:生成質數集合
#!

/usr/bin/env python3

#encoding=utf-

8def getsu()

: def getji()

: n =

1while true:

n = n+

2 yield n

def format

(n):

return lambda x:x%n>

0 def primes()

: yield 2

it =

getji()

while true:

n =next

(it)

yield n

it =

filter

(format

(n),it)

for n in primes()

:if n <

1000

:print

(n)else

:break

作業二:請利用filter()篩選出回數:
def getji()

: n =

9while true:

n = n+

1 yield n

def format

(x):

return

str(x)[:

:-1]

==str

(x)

def primes()

: yield 9

it =

getji()

while true:

n =next

(it)

yield n

it =

filter

(format,it)

for n in primes()

:if n <

1000

:print

(n)else

:break

後記(字串反轉)

在完成作業的過程中,發現了字串反轉的操作,這是之前沒講過的,記下來

1. [::-1]

學切片的時候沒有提到這個

[::

2]// 表示從頭開始,每兩個取乙個[:

:-2]

// 表示從右邊開始,每隔兩個取乙個

2.reverse()
s = "123"

l = list(s) // reverse()不能在str上呼叫,所以要專程list了使用

l.reverse()

3.reduce (lambda配合更爽)
from functools import reduce

reduce(lambda a,b:b+a,"123")

python自學(九) 高階函式 sorted

一 sorted sorted沒有說明是冒泡還是快排實現,我就不裝逼去找文件了,姑且認為是快排把,反正用起來很快 def f sorted list,f reverse true 第二個是先對每乙個元素執行,在進行排序,可選引數,第三個是是否倒序作業 l bob 75 adam 92 bart 66...

自學python 函式

函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。函式能提高應用的模組性,和 的重複利用率。你已經知道python提供了許多內建函式,比如print 但你也可以自己建立函式,這被叫做使用者自定義函式 內建函式 說明語法 python 定義函式使用 def 關鍵字,一般格式如下 def ...

python 函式高階 python 函式高階

形參角度 萬能引數 動態接收位置引數 args 動態接收關鍵字引數 kwargs 的魔性用法 函式定義時 代表聚合。他將所有的位置引數 聚合成乙個元組,賦值給了args 函式定義時 將所有的關鍵字引數聚合成乙個字典中,將這個字典賦給了 kwargs 和 在函式的呼叫時 代表打散 僅限關鍵字引數 de...