熟练使用几个重要的内置函数

举报
在下周周ovo 发表于 2022/08/07 15:34:01 2022/08/07
【摘要】 熟练使用几个重要的内置函数

 文章目录

🌅题目一

        🌅解析

        🌅答案

🌄题目二

        🌄解析

        🌄答案

🏙️题目三

        🏙️解析

        🏙️答案

🌃题目四

        🌃解析

        🌃答案

 🌌总结


🌅题目一

用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的使用方法,同时掌握匿名函数的基本语法,能够在实际问题灵活使用,其中匿名函数的语法是:


 好了今天的分享结束了,我们“明天见”。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。