几道练习题
Posted 故俗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了几道练习题相关的知识,希望对你有一定的参考价值。
‘‘‘
#使用map函数 将字符串列表 转化---》lxx.ab 形式
方法一:迭代器形式解题
name=[‘lxx‘,‘lj‘,‘dsvsf‘]
# def func(item): #name中的每一项都传过来 循坏item
# return item+‘_sb‘
# name1=map(func,name)#map(函数名,可迭代的) name1是一个迭代器
# for i in name1: #迭代器和可迭代对象是不一样的 可迭代对象在for循环的时候才转化过来的
# print(i)
#
# print(list(name1))#name1是一个迭代器 已经取完值了 此时显示一个空的列表
#方法二:lambda表达式
name1=map(lambda item:item+‘_sb‘,name)
print(list(name1))‘‘‘
‘‘‘#使用filter函数处理数字列表,将列表中的所有偶数筛选出来
num=[1,2,3,4,5,6,7,8]
#方法一:
# for i in num:
# if i%2==0:
# print(i)
# 方法二:
# def func(item):
# if item%2==0:
# return True
#
# num1=filter(func,num)#循环num把里面的元素全部传给函数func 此为迭代器
#
# print(list(num1))
# print(list(num1))#返回空
# 方法三:
# ret=filter(lambda x:x%2==0,num)
# print(list(ret))‘‘‘
‘‘‘‘#随便写一个二十行以上的文件
#运行程序,先将内容读到内存中,用列表存储
#接受用户输入的页码,每页五条,仅仅输出当页的内容 输入一 显示一到五条
with open(‘文件‘,encoding=‘utf-8‘) as f:
l=f.readlines()
print(l)
page_num=int(input(‘输入页码‘))
len(l)#判断一共有多少页
pages,mod=divmod(len(l),5)#页数,余数mod 求有多少页有没有剩余的行数
if mod: #如果有剩余的行数,那么页数加一
pages+=1#一共有多少页 每一页存储五个文件内的数据
if page_num>pages or page_num<=0:# 用户输入的页数大与文件内的页数
print(‘输入错误了‘)
elif page_num==pages and page_num!=0:#如果用户输入的密码是最后一页,切之前有过剩余行数
for i in range(mod):
print(l[(page_num - 1) * 5 + i].strip()) #只输出这一页上剩余的行
# elif page_num>0 and page_num<pages:
else:
for i in range(5):
print(l[(page_num-1)*5+i].strip()) #输出五行
‘‘‘
‘‘‘
#计算购买每支股票的总价 shares*price
#用filt过滤出,单价大于100的股票有哪些
lxx=[
{‘name‘:‘a‘,‘shares‘:100,‘price‘:99},
{‘name‘:‘b‘,‘shares‘:10,‘price‘:9},
{‘name‘:‘c‘,‘shares‘:90,‘price‘:56},
{‘name‘:‘d‘,‘shares‘:78,‘price‘:15.15},
]
# sum=map(lambda dic:dic[‘shares‘]*dic[‘price‘],lxx)
# print(list(sum))#此时返回的是一个数字列表 里面是每支股票的总价
# for i in sum:
# print(i)
# sum1=map(lambda dic:{dic[‘name‘]:dic[‘shares‘]*dic[‘price‘]},lxx)
# print(list(sum1))#此时返回的是一个字典 里面是名字对应的每支股票的总价
ret=filter(lambda dic1:True if dic1[‘price‘]>100 else False ,lxx)
ret1=filter(lambda dic2:dic2[‘price‘]>100,lxx)
print(list(ret1))
print(list(ret))‘‘‘
以上是关于几道练习题的主要内容,如果未能解决你的问题,请参考以下文章