日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python二分法编程_python基础18——二分法面向过程匿名函数

發布時間:2023/12/15 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python二分法编程_python基础18——二分法面向过程匿名函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

二分法

算法:是高效解決問題的辦法

算法之二分法

格式:

def binary_search(ls, num, lower=0, high=None):

if high is None:

high = len(ls) - 1

mid = (lower + high) // 2

if mid == 0 and num != ls[0]:

return "不存在"

if mid == len(ls) - 1 and num != ls[-1]:

return "不存在"

if num == ls[mid]:

return mid, ls[mid]

elif num < ls[mid]:

return binary_search(ls, num, lower, mid)

else:

return binary_search(ls, num, mid + 1, high)

需求:有一個按照從小到大順序排列的數字列表

需要從該數字列表中找到我們想要的那個一個數字

如何做更高效???

nums=[-3,4,7,10,13,21,43,77,89]

find_num=10

nums=[-3,4,13,10,-2,7,89]

nums.sort() #升序

print(nums)

方案一:整體遍歷效率太低

for num in nums:

if num == find_num:

print('find it')

break

方案二:二分法

def binary_search(find_num,列表):

mid_val=找列表中間的值

if find_num > mid_val:

# 接下來的查找應該是在列表的右半部分

# 列表=列表切片右半部分

binary_search(find_num,列表)

elif find_num < mid_val:

# 接下來的查找應該是在列表的左半部分

# 列表=列表切片左半部分

binary_search(find_num,列表)

else:

print('find it')

nums=[-3,4,7,10,13,21,43,77,89]

find_num=8

def binary_search(find_num,l):

print(l)

if len(l) == 0:

print('找的值不存在')

return

mid_index=len(l) // 2

if find_num > l[mid_index]:

# 接下來的查找應該是在列表的右半部分

l=l[mid_index+1:]

binary_search(find_num,l)

elif find_num < l[mid_index]:

# 接下來的查找應該是在列表的左半部分

l=l[:mid_index]

binary_search(find_num,l)

else:

print('find it')

binary_search(find_num,nums)

面向過程稿編程思想

# 編程思想/范式

面向過程的編程思想:

核心是"過程"二字,過程即流程,指的是做事的步驟:先什么、再什么、后干什么

基于該思想編寫程序就好比在設計一條流水線

優點:復雜的問題流程化、進而簡單化

缺點:擴展性非常差

面向過程的編程思想應用場景解析:

1、不是所有的軟件都需要頻繁更迭:比如編寫腳本

2、即便是一個軟件需要頻繁更迭,也不并不代表這個軟件所有的組成部分都需要一起更迭

匿名函數

1、def用于定義有名函數

func=函數的內存地址

def func(x,y):

return x+y

print(func)

2、lamdab用于定義匿名函數

print(lambda x,y:x+y)

3、調用匿名函數

方式一:

res=(lambda x,y:x+y)(1,2)

print(res)

方式二:

func=lambda x,y:x+y

res=func(1,2)

print(res)

4、匿名用于臨時調用一次的場景:更多的是將匿名與其他函數配合使用

# 應用

salaries={

'siry':3000,

'tom':7000,

'lili':10000,

'jack':2000

}

需求1:找出薪資最高的那個人=》lili

res=max([3,200,11,300,399])

print(res)

res=max(salaries)

print(res)

salaries={

'siry':3000,

'tom':7000,

'lili':10000,

'jack':2000

}

# 迭代出的內容 比較的值

'siry'      3000

'tom'      7000

'lili'      10000

'jack'      2000

def func(k):

return salaries[k]

========================max的應用

res=max(salaries,key=func)       # 返回值=func('siry')

print(res)

res=max(salaries,key=lambda k:salaries[k])

print(res)

========================min的應用

res=min(salaries,key=lambda k:salaries[k])

print(res)

========================sorted排序

salaries={

'siry':3000,

'tom':7000,

'lili':10000,

'jack':2000

}

res=sorted(salaries,key=lambda k:salaries[k],reverse=True)

print(res)

========================map的應用(了解):對array的每個元素做平方處理

l=['alex','lxx','wxx','薛賢妻']

new_l=(name+'_dsb' for name in l)

print(new_l)

res=map(lambda name:name+'_dsb',l)

print(res)         # 生成器

========================filter的應用(了解): 對array進行過濾操作

l=['alex_sb','lxx_sb','wxx','薛賢妻']

res=(name for name in l if name.endswith('sb'))

print(res)

res=filter(lambda name:name.endswith('sb'),l)

print(res)

========================reduce的應用(了解):對array進行合并操作,比如求和運算

from functools import reduce

res=reduce(lambda x,y:x+y,[1,2,3],10)          # 16

print(res)

res=reduce(lambda x,y:x+y,['a','b','c'])           # 'a','b'

print(res)

總結

以上是生活随笔為你收集整理的python二分法编程_python基础18——二分法面向过程匿名函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 蜜桃香蕉视频 | 丁香花完整视频在线观看 | 亚洲精品v| www.好了av | 波多野结衣乳巨码无在线观看 | 美女在线播放 | 葵司一区二区 | 福利小视频 | 国产精品网站在线 | 永久av免费在线观看 | 国产农村妇女精品一区二区 | 国产主播在线一区 | 免费成人蒂法网站 | 国产欧美一区二区在线观看 | 涩涩涩综合| 少妇与公做了夜伦理69 | 日本69式三人交 | 国产孕交 | 人妻 校园 激情 另类 | 黄色应用在线观看 | 岛国av毛片| 一级v片 | 她也啪在线视频 | 色桃网| 成人国产一区二区三区 | 亚洲精品网站在线观看 | 131mm少妇做爰视频 | 成人在线观看小视频 | 成人av电影网站 | 国产又爽又黄免费视频 | 少妇一区二区视频 | 成人av影视在线观看 | 日本a在线播放 | 少妇一晚三次一区二区三区 | 77久久| 亚洲无码精品国产 | 久久精品国产99久久久 | 无码人妻丰满熟妇区96 | 日韩一区二区三区视频 | 手机av网| 九九热播视频 | 老女人人体欣赏a√s | 黄色aa大片 | av中文字幕在线看 | 成人黄色一级片 | 日韩欧美在线观看一区二区 | caopeng在线视频 | 国产又粗又猛又爽又黄的网站 | 天天上天天干 | 天天天色综合 | 性渴老太作爱 | 毛片在线免费观看网站 | 性视频在线播放 | 在线视频 亚洲 | 亚洲成人一级 | 99久久久无码国产 | 波多野结衣人妻 | 欧美色视频在线观看 | 国产精品一区二区三区免费视频 | 住在隔壁的她动漫免费观看全集下载 | 在线国产不卡 | 白石茉莉奈番号 | 翔田千里一区二区三区av | 国产精品人 | 在线看片亚洲 | 欧美三级一区二区 | 亚洲最大福利视频 | 少妇乱淫| 亚洲情侣在线 | 欧美国产中文字幕 | 美女在线观看视频 | 久久久无码人妻精品无码 | 日韩精品第1页 | 已婚少妇美妙人妻系列 | 日日干日日射 | 一区二区xxx | 久久免费播放 | 一区二区三区视频 | 黄色精彩视频 | 在线国产小视频 | 一起射导航 | 超碰国产人人 | 国产一区二区三区视频播放 | 伊人久久在线 | 自拍偷拍20p | 三级男人添奶爽爽爽视频 | 任你躁av一区二区三区 | 成 年 人 黄 色 大 片大 全 | www99re| 伊人久久久久久久久久久久 | 五月激情网站 | 91精品国产高清91久久久久久 | 色播视频在线 | 成人免费黄色大片 | 91禁动漫在线 | 久久美女免费视频 | 日韩精品成人在线 | 欧美一区二区三区四区在线观看 | 999精彩视频 |