[00019]转换并同时计算数据

来源:互联网 发布:贴吧顶贴软件 谭队 编辑:程序博客网 时间:2024/06/09 18:03

转换并同时计算数据

一、 解决问题

在数据序列上执行聚集函数(比如 sum() , min() , max() ), 但是首先你需要先转
换或者过滤数据

二、解决方案

生成器表达式

三、代码说明

nums = [1, 2, 3, 4, 5]print (x * x for x in nums) #-><generator object <genexpr> at 0x00000000006E7990>s = sum(x * x for x in nums)print (s)
import os#默认加载当前文件夹下的所有文件的名字files = os.listdir()if any(name.endswith(".py") for name in files):    print("There be python!")else:    print('Sorry, no python.')
s = ("ACME", 50, 123.45)print(",".join(str(x) for x in s)) #->ACME,50,123.45
portfolio = [    {'name':'GOOG', 'shares': 50},    {'name':'YHOO', 'shares': 75},    {'name':'AOL', 'shares': 20},    {'name':'SCOX', 'shares': 65}]min_shares = min(s['shares'] for s in portfolio)print(min_shares)
from operator import itemgettermin_prot = min(portfolio, key=itemgetter('shares'))  print(min_prot) #->{'name': 'AOL', 'shares': 20}

四、关联知识

  1. 生成器表达式 : 传送门,待补充

五、总结

六、代码地址

github地址:https://github.com/weichen666/python_cookbook
目录/文件:first_selection/learn_gender_reduce.py

七、参考

0 0