map函式可以對序列中個每個值進行某種批量轉化操作,然後將結果作為迭代器iterator返回,迭代器可以利用for迴圈或者next()函式來訪問每個值。
map函式接收兩個引數,乙個是函式f,乙個是iterator,map在iterable的每個元素上依次執行函式f,並把結果作為新的iterator迭代器返回。
def f(x):
return x*x
result=map(f,range(0,5))
for var in result:
print(var)
#結果:01
4916#函式簡單可以直接用匿名函式:
result=map(lambda x:x+6,[1,2,3])
for i in result:
print(i)
#結果:78
9
reduce函式接收兩個引數,乙個是函式f,乙個是iterator,其中函式f必須接收兩個引數。reduce在iterator的第一二個元素上執行函式f得到結果res,然後將結果res繼續與第三個元素作為函式f的兩個引數執行函式f,直到遍歷完成。
注意:使用reduce函式時,需要利用from functools import reduce
語句引入functools
模組的reduce
函式,否則會執行出錯。
from functools import reduce
def f(x,y):
return x+y
result= reduce(f,range(0,5))
print(result)
#結果:
10#函式簡單,用匿名函式
from functools import reduce
result= reduce(lambda x,y:x-y,[1,2,3])
print(result)
#結果:
-4
filter()也是python常用的內建函式,用於過濾序列。與map()類似,fiter()也是接收兩個引數:乙個函式和乙個序列,將函式作用在序列的每乙個元素上,根據函式返回值true或false,來決定是否捨棄該元素,最終返回乙個迭代器,內容是原序列的子串行。例如:
def f1(x):
return x%2==0
a=filter(f1,range(0,5))
print(a)
for i in a:
print(i)
#結果0
24
用匿名函式的形式來使用filter函式:(find函式的用法:如果包含子字串返回開始的索引值,否則返回-1)
str_tuple = ("hipython","pyth","lovepython","python","xmu")
result = filter((lambda x:x.find("python")!=-1), str_tuple)
for str in result:
print(str)
#結果hipython
lovepython
str_list = ["abcde","12345","python","xmu","hello"]
result = filter((lambda x:len(x)==5), str_list)
for str in result:
print(str)
#結果abcde
12345
hello
模組是乙個包含函式和變數的檔案,其字尾名是.py。
(1)import語句
模組可以被別的程式通過import
方式引入,從而可以使用該模組中的函式等功能,提公升**復用性。這也是使用 python 標準庫的方法。
(2)from...import...語句
from...import...
語句可以匯入某乙個模組的指定函式,與import語句不同在於,其呼叫模組的方法時不需要加模組名。語句from support import *
可以引入support
模組的所有函式。
##########test1.py中##########
def sayhello(name):
print("hello",name)
def sayhi(name):
print("hi",name)
#########test2.py執行########
from test1 import *
sayhi("tom")
sayhello("tom")
#結果hi tom
hello tom
#########test3.py執行########
import test1
sayhi("tom")
#結果nameerror: name 'sayhi' is not defined
改為import test1
test1.sayhi("tom")
#結果hi tom
注意:當引入不同模組的相同方法名時,以最後引入的方法為準。 學習python 第四天
python 迴圈結構 迴圈結構可以輕鬆的控制某件事重複 再重複的發生。在python中構造迴圈結構有兩種做法,一種是for in迴圈,一種是while迴圈。for in迴圈 如果明確的知道迴圈執行的次數或者是要對乙個容器進行迭代 後面會講到 那麼我們推薦使用for in迴圈 用for迴圈實現1 1...
學習python,第四天
echo 內容 a 將內容放到檔案裡 ls lh a 會覆蓋原有內容 echo a 追加到末尾 不會覆蓋原有內容 管道 ls lha more shutdown關機 shutdown now立刻關機 shutdown r重啟 shutdown c取消 shutdown 10 00十點關機 shutd...
python學習第四天
在python中可以用r 來表示字串,內部的字串預設不轉譯。空值 空值是python裡乙個特殊的值,用none表示。none不能理解為0,因為0是有意義的,而none是乙個特殊的空值。除法,得到整數值 除法,得到餘數 除法,得到浮點數 unicode編碼 utf 8 編碼 python提供ord 函...