迭代器:def gen():
a = 100
yield a
a = a * 8
yield a
yield 1000
for i in gen():
print(i)
建立乙個函式,迴圈體,yield迴圈到此就返回乙個值。呼叫函式,列印出迴圈結果:
100800
1000
表推導:
l = [x**2 for x in range(10)]
print(l)
等價於:
m =
for x in range(10):
print(m)
列印出結果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
xl = [1,3,5]
yl = [9,12,13]
l = [ x**2 for (x,y) in zip(xl,yl) if y > 10]
print(l)
等價於for (x,y) in zip(xl,yl):
if y > 10:
print(x)
我們可以先列印出zip對應的y值大於10的x的值
列印出x的值:
>>3
>>5
列印出l的值:[9, 25]
#lambda函式def test(f,a,b):
print ('test')
print(f(a,b))
test((lambda x,y:x**2+y),6,9)
#使用lambda匿名函式給f引數傳遞值,可以使不同形式的。
列印結果:
>>test
(f(a,b))相當於a=6傳遞給x,b=9傳遞給y,組合成f的值
>>45
#map()
re = map((lambda x:x+3),[1,3,5,7])
print(list(re))
#map中的乙個引數x,將後面列表中的值一次傳遞給x,相當於列表的值依次加3,在取值中以列表的形式。
列印結果:
[4, 6, 8, 10]
re2 = map((lambda m,n:m**n),[1,2,3,4],[5,6,7,8])
print(list(re2))
列印結果:
[1, 64, 2187, 65536]
#filter()
def abc(a):
if a > 100:
return true
else:
return false
newlist = filter(abc,[100,30,101,200])
print(list(newlist))
#建立乙個函式abc中有乙個引數a。newlist中函式filter將列表的值一次傳給函式abc中的引數a,取值用列表形式。
列印結果:
[101, 200]
#reduce()
#from functools import reduce #因為python不支援reduce函式,可以在functools庫中匯入單個reduce函式
import functools #可以直接匯入整個庫
print(functools.reduce(lambda x,y:x+y,range(1,101)))
#reduce函式是將列表中的值的第一次傳遞兩個引數相加的和3,在傳遞乙個引數3相加。相當於1-100相加的和。
列印結果:
>>5050
Python學習之基礎總結 1
python的優點 簡單,功能強大,支援物件導向 特點 1,嚴格區分大小寫 2,簡單,易學,支援物件導向 3,開源 4,庫非常豐富 5,跨平台使用 6,解釋性語言 7,高階語言 python的常量與變數 常量主要是指在程式執行中不可變的量 變數是指在程式執行時可以改變的量 常量的乙個特點 一旦繫結,...
Python學習筆記之檔案操作總結
readline 方法,從乙個開啟的檔案讀取一行資料 seek 方法可以用來將檔案 退回 到起始位置 close 方法關閉之前開啟的檔案 split 方法可以將乙個字串分解為乙個字串列表 python中不可改變的常量列表成為元組 tuple 一旦將列表資料賦至乙個元組,就不能再改變。元組是不可改變的...
python學習總結
那我們先來認識一下python。python首先是一門計算機語言 是集編譯性和解釋性一身的語言。python目前在做科學計算中特別受歡迎,說到計算,我們不得不提matlab,就我個人而言,matlab,我已經接觸這麼語言4年多了,我也十分的偏愛它,可是matlab是收費的,相比而言,python是免...