函式
函式生命成後若不呼叫則不會執行
形式引數
位置引數
可變引數
預設引數
關鍵字引數
返回值
返回值為函式運算的結果,返回函式執行結果,可以以與元組形式返回多個返回值
eg:
def sum(a,b)
return a+b
result = sum(1,2)
print(result)
變數的作用域區域性變數:在函式內部定義的變數,只在函式內部使用,函式執行結束,變數會自動刪除
全域性變數:在**結束完之前都生效
列表生成式
[expression for i in 序列 if]
print([i **i for i in range(1,10) if i % 2 == 0] )
[值 for ]
s = 『1 5000 1000』
列表生成式表達
li = [int(item) for item in s.split()]
print(li)
判斷輸入整數內有幾個不重複的質數和為輸入的正整數
def zhishu(num):
for i in range(2,num):
if num % i == 0:
return false
else:
return true
n = int(input())
l =
for i in range(3,n):
if zhishu(i):
count = 0
for i in range(0,len(l)):
x = l.pop()
y = n - x
if x == y:
count += 1
elif l.count(y) > 0:
count += 1
內建高階函式abs 求絕對值
函式本身也可以賦值給變數,變數也可以指向函式
f = abs
print(f(-10))
map():接受兩個引數,乙個是函式,乙個是序列
map將傳入的函式一次作用到序列的每個元素,並把結果作為新的序列返回
eg:對於序列[-1,3,-5,-2]的每個元素求絕對值
print(list(map(abs,[-1,3,-5,-2])))
reduce():把乙個函式作用在乙個序列上,這個函式必須接收兩個引數,reduce把結果繼續和序列的下乙個元素做累計運算
eg:reduce(f,[x1,x2,x3,x4])=f(f(f(x1,x2),x3),x4)
filter過濾函式
接收乙個函式乙個序列
filter把傳入的函式一次作用於每個元素,根據返回值是true還是false決定保留還是丟棄
import random
def isodd(num):
if num % 2 == 0:
return true
else:
return false
li =
for i in range(101):
print(list(filter(isodd,li)))
sort和sorted預設是由小到大排序,加入reverse=true則由大到小排序
匿名函式關鍵字為lambda,冒號前為形參,冒號後為返回值
print(**args,**kwargs : atgs,kwargs)
print(reduce(lambda x,y:x+y,[1,2,3,4,5]))
print(sorted([0,7,0,1,2,1,5,1,7,8,0,67,1,3,4],key = lambda x: 1 if x == 0 else 0))
函式 匿名函式,列表生成式
lambda x x 2關鍵字lambda表示匿名函式,冒號前面的x表示函式引數。匿名函式。用法 func lambda x x 2 print func 2 4l list map lambda x x 2,range 5 map func,iterables print l 0,2,4,6,8 ...
匿名函式 列表生成式 字典生成式 遞迴
語法 語法格式為 lambda 引數1,引數2,引數 引數可以省略 邏輯表示式 即結果,不可省略 引數的範圍 可省略 lambda 引數 結果 lambda x,y x y 函式輸入是x和y,輸出是它們的積x y lambda none 函式沒有輸入引數,輸出是none lambda args su...
python列表生成式及相關操作
乙個需求,員工的稅前工資儲存在乙個叫salty的列表中,現在需要把所有員工的稅後工資計算出來,並存放到乙個aftertaxsalty的列表中,假設稅率為10 1.正常的操作 salty 10000,9000,12000,14500,13000 aftertaxsalty list for one i...