目录
写在前面
题目一
解析
答案
题目二
解析
答案
️题目三
️解析
️答案
题目四
解析
答案
总结
写在前面
本篇博客主要向各位小伙伴们介绍的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))
输出结果:
本篇博客主要向各位小伙伴们介绍的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函数,匿名函数,以及各种列表推导式的使用
基础版:
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))
输出结果:
用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))
输出结果:
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))
输出结果:
写此题之前需要掌握内置函数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))
输出结果:
如下,每个小字典的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))
输出结果:
(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的使用方法,同时掌握匿名函数的基本语法,能够在实际问题灵活使用,其中匿名函数的语法是:
好了今天的分享结束了,我们“明天见”。
这几个题目主要考的是重要内置函数map、filter的使用方法,同时掌握匿名函数的基本语法,能够在实际问题灵活使用,其中匿名函数的语法是:
好了今天的分享结束了,我们“明天见”。



