ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

day17_python

2021-08-04 13:01:26  阅读:150  来源: 互联网

标签:num name python price ret dic day17 print


之前一个不小心把之前的全部删除了,也没有办法回复,所以以后还是在博客上记录一下

内置函数

55个内置函数

带key的max() min() filter() map() sorted()

匿名函数

lambda 参数1,参数2: 返回值表达式

五个特殊的内置函数可以结合使用

生成器和迭代器

用map来处理字符串列表,把列表中所有人都变成sb,比如alex_sb

name = ['alex', 'wupeiqi', 'yuanhao', 'nezha']

def func(item):
return item + '_sb'

ret = map(func, name)
for i in ret:
print(i)

print(list(i)) # list把字符串拆开变为每一个元素
print(list(ret)) # ret为迭代器,取完后就不含有元素,返回一个空列表
ret = map(lambda item: item+'_sb', name) # lambda与函数无关
print(list(ret))
print(list(ret)) # ret迭代器,取完后依旧消失

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

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

def func1(x):
if x % 2 == 0:
return True # return x % 2== 0

ret = filter(func1, num) # func和可迭代的 filter返回值为迭代器
print(list(ret))
ret = filter(lambda x: True if x % 2 == 0 else False, num) # 冒号后面可以写表达式和for循环

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

运行程序,先将内容读取到内存中,用列表存储

接收用户输入页码,每页5条,仅仅输出当页的内容

with open('C:/Users/dell/Desktop/test20.txt', encoding='utf-8') as f:
p = f.readlines()
page_num = int(input('输入页码:'))

1,1-5

2, 6-10

3, 11-15

4, 16-20

pages, mod = divmod(len(p), 5) # 商余函数,返回两个值
if mod: # mod不为零
pages += 1
if page_num > pages:
print('error')
elif page_num == pages and mod != 0:
for i in range(mod):
print(p[(page_num-1)5 + i].strip()) # 取消输出换行
else:
for i in range(5):
print(p[(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': 'YHOO', 'shares': 45, 'price': 16.35},
{'name': 'ACME', 'shares': 75, 'price': 115.65}
]

计算购买每只股票的的总价?

ret = map(lambda dic: {dic['name']: round(
dic['share']*dic['price'], 2)}, portfolio) # round 精确小数位
print(list(ret))

用filter()过滤出单价大于100的股票有哪些?

ret = filter(lambda dic: True if dic['price'] > 100 else False, portfolio)
ret = filter(lambda dic: dic['price'] > 100, portfolio)
print(ret)
###########################################################################################

标签:num,name,python,price,ret,dic,day17,print
来源: https://www.cnblogs.com/Come3/p/15098359.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有