python练习笔记——map | sum | pow 的应用
1 函数简要
map 函数 | sum 函数 | pow函数 | lambda函数
2 简要计算
2.1 1^2 + 2^2 + 3^2 .....9^2
方法1
print([pow(x,2) for x in range(1,10)]) #[1, 4, 9, 16, 25, 36, 49, 64, 81] print(sum(pow(x,2) for x in range(1,10)))
方法2
print(map(pow,range(1,10),[2 for x in range(9)])) # <map object at 0x7f9c0e4eb6a0> print([i for i in map(pow,range(1,10),[2 for x in range(9)])]) # [1, 4, 9, 16, 25, 36, 49, 64, 81] print(sum(map(pow,range(1,10),[2 for x in range(9)])))
方法3
print(sum(map(lambda x : x ** 2,range(1,10))))
2.2 1^9 + 2^8 + 3^7 .....9^1
方法1
print(sum(map(pow,range(1,10),range(9,0,-1))))
肢解start
print([i for i in range(9,0,-1)]) # [9, 8, 7, 6, 5, 4, 3, 2, 1]
a = map(pow,range(1,10),range(9,0,-1)) print([i for i in a]) [1, 256, 2187, 4096, 3125, 1296, 343, 64, 9]
肢解end
方法2
print([pow(x,y) for x in range(1,10) for y in range(9,0,-1)]) # [1, 1, 1, 1, 1, 1, 1, 1, 1, 512, 256, 128, 64, 32, 16, 8, 4, 2, 19683, 6561, 2187, 729, 243, 81, 27, 9, 3, 262144, 65536, 16384, 4096, 1024, 256, 64, 16, 4, 1953125, 390625, 78125, 15625, 3125, 625, 125, 25, 5, 10077696, 1679616, 279936, 46656, 7776, 1296, 216, 36, 6, 40353607, 5764801, 823543, 117649, 16807, 2401, 343, 49, 7, 134217728, 16777216, 2097152, 262144, 32768, 4096, 512, 64, 8, 387420489, 43046721, 4782969, 531441, 59049, 6561, 729, 81, 9] print(sum([pow(x,y) for x in range(1,10) for y in range(9,0,-1)]))
上面的方法没有达到题目的要求,因为该段代码相对于将两个迭代参数全部遍历计算了一遍
改进为下列代码
print([pow(x,10-x) for x in range(1,10)]) # [1, 256, 2187, 4096, 3125, 1296, 343, 64, 9] print(sum([pow(x,10-x) for x in range(1,10)]))
2.3 12 + 22 + 32 + 42....92
方法1
print([i*10+2 for i in range(1,10)]) # [12, 22, 32, 42, 52, 62, 72, 82, 92] print(sum([i*10+2 for i in range(1,10)]))
方法2
print(sum(map(lambda x : x * 10 + 2,range(1,10))))
python练习笔记——map | sum | pow 的应用的更多相关文章
- Python自学笔记-map和reduce函数(来自廖雪峰的官网Python3)
感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. Python内 ...
- Python学习笔记 - map reduce
#!/usr/bin/env python3 # -*- coding: utf-8 -*- def f(x): return x * x r = map(f, [1, 2, 3, 4, 5, 6, ...
- python学习笔记 map&&reduce
---恢复内容开始--- 1.map 1)map其实相当对吧运算符进行一个抽象,返回的是一个对象,但是这里不知道为什么不可以对一个map返回变量打印两次,难道是因为回收了? def f(x): ret ...
- Python学习笔记之map、zip和filter函数
这篇文章主要介绍 Python 中几个常用的内置函数,用好这几个函数可以让自己的代码更加 Pythonnic 哦 1.map map() 将函数 func 作用于序列 seq 的每一个元素,并返回处理 ...
- python自学笔记
python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...
- Deep learning with Python 学习笔记(10)
生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...
- Python中的Map/Reduce
MapReduce是一种函数式编程模型,用于大规模数据集(大于1TB)的并行运算.概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数 ...
- Python学习笔记(四)函数式编程
高阶函数(Higher-order function) Input: 1 abs Output: 1 <function abs> Input: 1 abs(-10) Output: 1 ...
- Python 学习笔记(下)
Python 学习笔记(下) 这份笔记是我在系统地学习python时记录的,它不能算是一份完整的参考,但里面大都是我觉得比较重要的地方. 目录 Python 学习笔记(下) 函数设计与使用 形参与实参 ...
随机推荐
- 无法执行 varchar 值到 varchar 的隐式转换,原因是,由于排序规则冲突,该值的排序规则未经解析。
SELECT CONVERT(VARCHAR(100), 列名) FROM Table 提示错误: 无法执行 varchar 值到 varchar 的隐式转换,原因是,由于排序规则冲突,该值的排序规则 ...
- IOS info.plist配置文件
创建ios程序时,系统会自动生成一个info.plist文件,它是一个必不可少的文件,因为在这个文件中,存放是应用程序的配置信息,比如本地化语言.版本号.软件名称等,当然,我们也可以在项目的属性中进行 ...
- XGBoost:在Python中使用XGBoost
原文:http://blog.csdn.net/zc02051126/article/details/46771793 在Python中使用XGBoost 下面将介绍XGBoost的Python模块, ...
- [Javascript] Understand Curry
The act of currying can be described as taking a multivariate function and turning it into a series ...
- CAD批量合并文件
要求:将整饰完成504幅单独的宗地图合并成一张总图,合并后,去掉其他要素,只保留毕合的权属线. 解决: 1.合并dwg文件,除了手工粘贴复制外,最先想到的是插入块,即用Insert命令插入,测试结果可 ...
- Linux对文件归档和压缩(学习笔记八)
一.归档和压缩 压缩命令工具:gzip,bzip2 归档命令工具:tar 二.压缩 2.1.gzip gzip是一种标准的.广泛应用的文件压缩和解压缩实用工具.gzip允许文件并置.用gzip压缩文件 ...
- CSDN日报20170310——《假如我是一行代码》
[程序人生]假如我是一行代码 作者:henry-hacker 我们不止一次在生活中听到"假如我如何如何,我会如何如何"的句式.而这种句式说出来的一般意义无非就是让我们站在还有一个角 ...
- NDK 编译armebai-v7a的非4字节对齐crash Fatal signal 7 (SIGSEGV) 错误解决
一直都是编译armabi的.没有不论什么问题,这个架构是软件模拟浮点运算的. 后来看到NDK文档上说armabi-v7a是针对有硬件处理浮点计算的arm cpu的. 于是就改动配置编译armebai- ...
- 【C++系列小结】面向过程的编程风格
前言 编程语言有面向过程和面向对象之分,因此编程风格也有所谓的面向过程的编程和面向对象的编程,并且语言的性质不会限制编程的风格. 这里主要说一以下向过程的编程. "面向过程"(Pr ...
- 修改终端下vim的PopupMenu选种项的背景颜色
我平常比较喜欢使用终端下的 VIM,最方便的就是随时可以使用ctrl+z切换到终端下执行命令, 然后再通过fg切换回 VIM.如果再有个透明效果,那就更赞了.不过最近换了一个配色ron 后, 有个比较 ...