目錄
寫在前面
題目一
解析
答案
題目二
解析
答案
️題目三
️解析
️答案
題目四
解析
答案
總結
本篇博客主要向各位小伙伴們介紹的Python經典例題<幾個重要的內置函數的使用>,帶各位掌握Python基礎,希望各位小伙伴們能夠在這裡收獲到更多知識!讓我們一起學習!一起進步!
用map來處理字符串列表name=['lisa','wu,'yua','zhou'],把列表中所有人,都變成名字加‘_nb’,比方lisa_nb
寫這道題之前需要掌握內置map函數,匿名函數,以及各種列表推導式的使用
基礎版:
name=['lisa','jadd','yua','mike'] def func(li): li = li+'_nb' return li ret = map(func,name) name = [i for i in ret] print(name)
進階版:
name=['lisa','jadd','yua','mike'] ret = map(lambda li :li+'_nb',name) name = [i for i in ret] print(name)
輸出結果:
用filter函數處理數字列表,將列表num = [1,3,5,6,7,8]中所有的偶數篩選出來
寫這題之前需要掌握內置函數filter、列表、匿名函數、列表推導式的使用方法
num = [1,3,5,6,7,8] res = filter(lambda x:x%2 == 0,num) num2 = [i for i in res] print(num2)
輸出結果:
隨意寫一個有20行以上內容的文件,要求運行程序,先將內容讀到內存中,用列表存儲。接收用戶輸入頁碼,每頁5行,僅輸出當頁的內容
寫此題之前需要掌握內置函數divmod、if條件語句的使用
with open('01--昨日作業',encoding='utf8') as f: l = f.readlines() print(l) #查看文件'01--昨日作業'中含有的內容 page_num = int(input('請輸入你要查看的頁碼 :')) pages,mod = divmod(len(l),5) #page表示一共有的頁數,mod表示還剩的行數(五行為一頁) if mod: #判斷是否還剩有行數 pages += 1 #不滿五行也算一頁 if page_num > pages: #判斷輸入的頁數是否超出總頁數 print('你輸入的頁碼有誤') elif page_num == pages and mod != 0: for i in range(mod): print(l[(page_num-1)*5 + i].strip()) else: for i in range(5): print(l[(page_num-1)*5 + i].strip())
輸出結果:
如下,每個小字典的name對應股票名字,shares對應多少股,price對應股票的價格
portfolio=[
{’name':’IBM','shares': 100, 'price': 91.1},
{'name':’AAPL','shares’: 50,'price': 543.22},
{'name’:'FB','shares': 200,'price': 21.09},
{’name':'HPQ','shares': 35, 'price': 31.75},
{’name’ :'YHO0'.' shares': 45. 'price’: 16.35},
{’name’:'ACME’,'shares’: 75,'price': 115.65}
](1)、計算購買每支股票的總價
(2)、用filter過濾出,單價大於100的股票有哪些
寫此題需要掌握 字典的基礎知識,內置函數filter的基本使用方法
(1)答案:
portfolio=[ {'name':'IBM','shares':100, 'price': 91.1}, {'name':'AAPL','shares': 50,'price': 543.22}, {'name':'FB','shares': 200,'price': 21.09}, {'name':'HPQ','shares': 35, 'price': 31.75}, {'name' :'YHO0','shares': 45, 'price': 16.35}, {'name':'ACME','shares': 75,'price': 115.65} ] ret1 = map(lambda dic:{dic['name']:dic['shares']*dic['price']},portfolio) print(list(ret1))
輸出結果:
(2)答案:
portfolio=[ {'name':'IBM','shares':100, 'price': 91.1}, {'name':'AAPL','shares': 50,'price': 543.22}, {'name':'FB','shares': 200,'price': 21.09}, {'name':'HPQ','shares': 35, 'price': 31.75}, {'name' :'YHO0','shares': 45, 'price': 16.35}, {'name':'ACME','shares': 75,'price': 115.65} ] #第一種方法 ret2 = filter(lambda dic:True if dic['price']>100 else False,portfolio) print(list(ret2)) #第二種方法 ret3 = filter(lambda dic:dic['price']>100,portfolio) print(list(ret3))
輸出結果:
這幾個題目主要考的是重要內置函數map、filter的使用方法,同時掌握匿名函數的基本語法,能夠在實際問題靈活使用,其中匿名函數的語法是:
好了今天的分享結束了,我們“明天見”。