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 学习笔记(下) 函数设计与使用 形参与实参 ...
随机推荐
- flink和spark stream等框架的对比
参考这篇文章: https://www.sohu.com/a/196257023_470008 我们当时的目标就是要设计一款低延迟.exactly once.流和批统一的,能够支撑足够大体量的复杂计算 ...
- 系统运维技巧(三)——利用dd命令临时增加交换分区
有时会遇到内存不够用的情况,可以使用本文提供的方法进行临时增加交换分区. #制作交换分区——得到文件 [root@serv01 linux-2.6.38]# dd if=/dev/zero of=/s ...
- [leetcode]Populating Next Right Pointers in Each Node II @ Python
原题地址:https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/ 题意: Follow up ...
- Java中浮点类型的精度问题 double float
要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法与浮点数的结构组成.因为机器只认识01,你想表示小数,你要机器认识小数点这个东西,必须采用某种方法.比如,简单点的,float四个字 ...
- Open edX 学习、开发、运维相关链接整理
原文地址:http://edustack.org/ 所需知识: Linux Git Python (Django Mako coffeescript sass) (MongoDB Mysql) Ans ...
- 俄罗斯水手 [C#] 对List<T>取交集、连集及差集
※本文使用int為例,若為使用自訂之DataModel,需實作IEquatable<T>介面才能使用 1. 取交集 (A和B都有) List A : { 1 , 2 , 3 , 5 , ...
- DFA 算法实现关键词匹配
起因: 从网页中爬去的页面.须要推断是否跟预设的关键词匹配(是否包括预设的关键词),并返回全部匹配到的关键词 . 眼下pypi 上两个实现 ahocorasick https://pypi.pytho ...
- 套间线程(apartment thread)模型和自由线程(free thread)模型互相创建的情况
- 【Javascript Demo】无刷新预览所选择的图片
1.效果如下,可测试 2.代码如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- 在 Ubuntu 12.04 上通过源码安装 Open vSwitch (OVS)
安装 Ubuntu 12.04, 而且更新系统 apt-getupdate; apt-getupgrade; 安装所需的package apt-get install automake autocon ...