用map来处理字符串列表

用map来处理字符串列表,把列表中所有水果都变成juice,比方apple_juice

  fruits=['apple','orange','mango','watermelon']

fruits=['apple','orange','mango','watermelon']
def func(fruit):
return fruit+'_juice'
f = map(func,fruits)
print(list(f))

匿名函数实现:

fruits=['apple','orange','mango','watermelon']
print(list(map(lambda fruit:fruit+'_juice',fruits)))

用filter函数处理数字列表

用filter函数处理数字列表,将列表中所有的偶数筛选出来

  num = [1,3,5,6,7,8]

num = [1,3,5,6,7,8]
def func(x):
return x%2 == 0
l = filter(func,num)
print(list(l))

匿名函数实现:

num = [1,3,5,6,7,8]
print(list(filter(lambda x:x%2 == 0,num)))
# print(list(filter(lambda x:True if x%2 == 0 else False,num)))

随意写一个20行以上的文件...

如题

随意写一个20行以上的文件
运行程序,先将内容读到内存中,用列表存储;
接收用户输入页码,每页5条,仅输出当页的内容。

简单实现:

with open('file',encoding='utf-8') as f:
line = f.readlines()
pages,left = divmod(len(line),5)#pages-->拥有五行的总页数,left-->余下一页的行数
page_num = int(input('请输入页码(整数):'))
if page_num <= 0 or page_num > pages+1:
print('页码不存在')
elif page_num > 0 and page_num <= pages:
for i in range(5):
print(line[(page_num-1)*5+i].strip())
else:
for i in range(left):
print(line[(page_num - 1) * 5 + i].strip())

   

升级版(交互式)

with open('file',encoding='utf-8') as f:
line = f.readlines()
pages,left = divmod(len(line),5)#pages-->拥有五行的总页数,left-->余下一页的行数
while True:
page_num = input('请输入页码(Q退出case-insensitive):')
if page_num.lower() == 'q':
print('阅读结束')
break
else:
if page_num.isdigit():
page_num = int(page_num)
if page_num <= 0 or page_num > pages + 1:
print('页码不存在')
print('请重新输入')
continue
elif page_num > 0 and page_num <= pages:
for i in range(5):
print(line[(page_num-1)*5+i].strip())
continue
else:
for i in range(left):
print(line[(page_num - 1) * 5 + i].strip())
continue
else:
print('请输入整数')
continue

如下,每个小字典的name对应股票名字...

如题

如下,每个小字典的name对应股票名字,shares对应多少股,price对应股票的价格

#如下,每个小字典的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': 'YHOO', 'shares': 45, 'price': 16.35},
{'name': 'ACME', 'shares': 75, 'price': 115.65}]
# 1.计算购买每支股票的总价
# 2.用filter过滤出,单价大于100的股票有哪些

1.计算购买每支股票的总价

def func(dic):
return {dic['name']:dic['shares']*dic['price']}
r = map(func,portfolio)
print(list(r))

  匿名函数改进

print(list(map(lambda dic:{dic['name']:round(dic['shares']*dic['price'],2)},portfolio)))

2.用filter过滤出,单价大于100的股票有哪些

def func(dic):
return dic['price'] > 100
r = filter(func,portfolio)
print(list(r))

  匿名函数实现

print(list(filter(lambda dic:dic['price'] > 100,portfolio)))

pass

python学习日记(内置、匿名函数练习题)的更多相关文章

  1. Python学习日记(十二) 匿名函数

    匿名函数: 未解决一些简单的需求而设计的函数 语法: func = lambda x : x**2 func:函数名 lambda:类似def的关键字 x:参数 x**2:返回值表达式 适用内置函数: ...

  2. python学习交流 - 内置函数使用方法和应用举例

    内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函 ...

  3. Python descriptor 以及 内置property()函数

    Python Descriptor  1, Python Descriptor是这样一个对象 它按照descriptor协议, 有这样的属性之一 def __get__(self, obj, type ...

  4. Python学习(七)——匿名函数、map函数、filter函数、reduce函数与其他内置函数

    匿名函数 lambda x: x + 1 # lambda:定义匿名函数的关键字 # x:形参 # x+1:程序处理逻辑 fun = lambda x: x + 1 print(fun(5)) #6 ...

  5. Python学习之==>内置函数、列表生成式、三元表达式

    一.内置函数 所谓内置函数就是Python自带的函数 print(all([0,2,3,4])) #判断可迭代的对象里面的值是否都为真 print(any([0,1,2,3,4])) #判断可迭代的对 ...

  6. python学习之--内置函数:

    Python内置函数: Python内置了很多有用的函数,我们可以直接调用.要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数. 1. 内置函数调用之--abs()函数: ...

  7. python学习总结----内置函数及数据持久化

    抽象基类(了解) - 说明: - 抽象基类就是为了统一接口而存在的 - 它不能进行实例化 - 继承自抽象类的子类必须实现抽象基类的抽象方法 - 示例: from abc import ABC, abs ...

  8. python学习之- 内置函数

    内置方法:1:abs():取绝对值2:all():当可迭代对象里所有均为真时结果为真. all([1,2,3])3:any():当可迭代对象里任意一个数据为真结果即为真.any([0,1,2])4:a ...

  9. Python学习(5)——内置函数

    常用字符串内置函数 1)str.count() //返回该字符串中某个子串出现的次数 2)str.find() //返回某个子串出现在该字符串的起始位置 3)str.lower() //将该字符串全部 ...

  10. python学习-31 内置函数

    内置函数 1.abs()  绝对值 2.all()    判断列表里的所有值的布尔值(如果迭代列表里的每个值后都是True 则返回True) '])) 运行结果: True Process finis ...

随机推荐

  1. Dynamics 365-为什么CRM环境Workflow执行了多次?

    Workflow执行了多次,这个现象如果排除业务逻辑冲突,人为失误等原因,可能有的人遇到的并不多,但是笔者时不时还能遇到这种情况,所以在这里做个记录,也给遇到相同问题的人一个解决的方法. 当一个Wor ...

  2. DVWA 黑客攻防演练(三)命令行注入(Command Injection)

    文章会讨论 DVWA 中低.中.高.不可能级别的命令行注入 这里的需求是在服务器上可以 ping 一下其他的服务器 低级 Hacker 试下输入 192.168.31.130; cat /etc/ap ...

  3. C# 一般处理程序ashx接收服务端post过来json数据

    这个和前端js的接收方式有点不一样,前端接收用request.form["xxx"]即可

  4. 【公众号系列】超详细SAP HANA JOB全解析

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]超详细SAP HANA JOB全解 ...

  5. 利用BLKTRACE分析IO性能

    在Linux系统上,如果I/O发生性能问题,有没有办法进一步定位故障位置呢?iostat等最常用的工具肯定是指望不上的,[容易被误读的iostat]一文中解释过await表示单个I/O所需的平均时间, ...

  6. dispatch_barrier_async--屏障是一个同步点

    Discussion Calls to this function always return immediately after the block has been submitted and n ...

  7. POJ3686 The Windy's

    嘟嘟嘟 刚做费用流,思路完全不对呀-- 应该这么想(应该说敢这么想):这道题的关键在于怎么体现这个玩具是第几个加工的,只有这才能求出他的加工时间(因为加工时间包括等待时间). 但等待时间不好求,因此要 ...

  8. 转://看懂Oracle中的执行计划

    一.什么是Oracle执行计划? 执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述 二.怎样查看Oracle执行计划? 2.1 explain plan for命令查看执行计划 在sq ...

  9. 利用BeEF REST API自动化控制僵尸主机

    本文首发Freebuf,属于原创奖励计划,未经许可禁止转载. http://www.freebuf.com/articles/network/137662.html 一. 前言 关于BeEF,不再多介 ...

  10. 初学python必备基础知识

    一,编程语言介绍 1.机器语言:直接用二进制编程,直接控制硬件,需要掌握硬件的操作细节 优点:执行效率高   缺点:   开发效率低 2.汇编语言:用英文标签取代二进制指令去编写程序,直接控制硬件,需 ...