python內建函式圖:
# # # lambda() #匿名函式
# ### 練習:
# n = lambda a,b: a+b
# print(n(2,3))
## # 用 lambda 計算字串長度
# # a = lambda n : len(n)
# lst = ['金克斯','阿卡麗','阿狸','vn','大嘴','德瑪西亞皇子']
# # 按照文字長短來排序
# def func(s):
# return len(s)
## s = sorted(lst , key=func) # 把列表中的每乙個元素傳遞給func,
# print(s)
# # 按照年齡排序
# lst = [
# ,
# ,
# ,
#
# ]# def func(dic):
# return dic['age']
## s = sorted(lst , key=func)
# print(s)
# # # filter() 篩選
# ### 練習:
# lst = ['金克斯','阿卡麗','阿狸','vn','大嘴','德瑪西亞皇子']
## # 把後面的可迭代物件(lst)中的元素交給前面(f)的函式。根據返回值true或者false,判斷是否保留該元素
# f = filter(lambda s : len(s) > 2 , lst)
# print(f)
# print('__iter__' in dir(f))
# for el in f:
# print(el)
# # 篩選年齡大於等於38的人
# lst = [
# ,
# ,
# ,
#
# ]# f = filter(lambda dic:dic['age'] >= 38 , lst)
# for el in f:
# print(el)
# # # map() 對映
# # 把可迭代物件中的每乙個元素拿出來交給前面的函式執行。保留最後執行結果。
# ### 練習:
# # 計算列表中每一項的平方
# lst = [2,5,64,6,3,2,5,8,4,]
# m = map (lambda x: x**2 , lst)
# for el in m:
# print(el)
# # 給出乙個列表判斷正確的使用者名稱和密碼:
# # ["alex_123", "alex_456", "wusir_123", "wusir_456", "alex_789"]
# # 正確的使用者名稱: alex
# # 密碼:456
# lst = ["alex_123", "alex_456", "wusir_123", "wusir_456", "alex_789"]
# m = map (lambda x : x == 'alex_456' ,lst)
# for el in m:
# print(el)
# lst1 = list(map (lambda x : x == 'alex_456' ,lst))
# print(lst1)
# # # 遞迴
# # 函式自己呼叫自己
# import os
# def func(path,ceng):
# lst = os.listdir(path) #開啟乙個資料夾。獲取資料夾中的所有內容
# for el in lst: #當前資料夾的所有檔名(包括資料夾名字)
# # 拼接檔案的真實路徑
# file_real_path = os.path.join(path,el)
# # 判斷這路徑是檔案還是資料夾
# if os.path.isdir(file_real_path):
# print('\t'*ceng,el)
# # 遞迴的入口
# func(file_real_path,ceng+1) # 重新執行剛剛的操作
# else: # 不是資料夾,是檔案
# # 遞迴的出口
# print('\t'*ceng,el)
# func('d:/a',0)
# # os : 和作業系統相關的一些功能
# # os.listdir() : 幫我們開啟乙個資料夾,返回資料夾內的所有內容(檔案的名字)
# # os.path.join : 拼接檔案的真是路徑
# # os.path.isdir(路徑) : 判斷是檔案還是資料夾(true為資料夾,false為檔案)
## 判斷使用者輸入的數字是否存在在列表中
lst = [4, 56, 178, 253, 625, 1475, 2580, 3574, 15963]
## 普通版:
# num = int(input('請輸入乙個數字:'))
# for el in lst:
# if num == int(el):
# print('true')
# break
# else:
# print('false')
# 二分法:
# left = 0 # 左邊界
# right = len(lst) - 1 # 末尾索引 右邊界
# num = int(input('請輸入乙個數字:'))
# while left <= right: # 當左邊界大於右邊界結束迴圈
# mid = (left + right) // 2 # 求中間索引座標
# if num < lst[mid]: #判斷數字與中間值的大小
# right = mid - 1 # 右邊界往左移
# elif num > lst[mid]: #判斷數字與中間值的大小
# left = mid + 1 # 左邊界往右移
# else:
# print('true') # 找到目標數字
# break
# else: # 當左比右大,結束迴圈,沒有找到目標數字
# print('none')
## 使用遞迴的二分法
# def binary_search(lst, n, left, right):
# if left > right:
# return false
# mid = (left + right) // 2
# if n < lst[mid]:
# right = mid - 1
# return binary_search(lst, n, left, right)
# elif n > lst[mid]:
# left = mid + 1
# return binary_search(lst, n, left, right)
# else:
# print('找到了')
# return true
## n = int(input('請輸入乙個數字:'))
# ret = binary_search(lst, n, 0, len(lst)-1)
python學習 第十四天
在下這廂有禮了 python正規表示式 python通過re模組提供對正規表示式的支援。使用re的一般步驟是先將正規表示式的字串形式編譯為pattern例項,然後使用pattern例項處理文字並獲得匹配結果 乙個match例項 最後使match例項獲得資訊,進行其他的操作。encoding utf ...
學習python 第十四天
python 傳送電子郵件 訪問 http協議,傳送郵件要使用smtp。smtp mail transfer protocol 即簡單郵件傳輸協議,它是一組用於由源位址到目的位址傳送郵件的規則,由它來控制信件的中轉方式。python的smtplib提供了一種很方便的途徑傳送電子郵件。它對smtp協議...
python學習第十四天
1 遞迴函式 自己呼叫自己的函式 遞 去歸 回 一去一回叫做遞迴 遞迴函式有回的過程,有兩種情況可以觸發 1.當最後一層函式全部執行結束的時候,有觸底 的過程 回馬槍 回到上層函式空間的呼叫處 2.遇到return返回值,直接返回上層空間的呼叫處 遞迴函式在執行的時候,需要記憶體開闢空間才可以,這個...