python map函数怎么用啊!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python map函数怎么用啊!相关的知识,希望对你有一定的参考价值。

下面是我的代码:>>>def cube(x):return x*x*x

>>>map (cube,range(1,11))
可是结果却是: <map object at 0x01397210>
而不是预想中的 [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
这是怎么回事啊

1、对可迭代函数'iterable'中的每一个元素应用‘function’方法,将结果作为list返回。
来个例子:
>>> def add100(x):
... return x+100
...
>>> hh = [11,22,33]
>>> map(add100,hh)
[111, 122, 133]
就像文档中说的:对hh中的元素做了add100,返回了结果的list。

2、如果给出了额外的可迭代参数,则对每个可迭代参数中的元素‘并行’的应用‘function’。(翻译的不好,这里的关键是‘并行’)
>>> def abc(a, b, c):
... return a*10000 + b*100 + c
...
>>> list1 = [11,22,33]
>>> list2 = [44,55,66]
>>> list3 = [77,88,99]
>>> map(abc,list1,list2,list3)
[114477, 225588, 336699]
看到并行的效果了吧!在每个list中,取出了下标相同的元素,执行了abc()。

3、如果'function'给出的是‘None’,自动假定一个‘identity’函数(这个‘identity’不知道怎么解释,看例子吧)
>>> list1 = [11,22,33]
>>> map(None,list1)
[11, 22, 33]
>>> list1 = [11,22,33]
>>> list2 = [44,55,66]
>>> list3 = [77,88,99]
>>> map(None,list1,list2,list3)
[(11, 44, 77), (22, 55, 88), (33, 66, 99)]
参考技术A 我这里测试你的代码是可行的 结果都正确
你关闭python 之后 重新在写一次看看 估计你先前修改了什么地方 所以出错了
要不就是语法上的问题 python2.*的版本跟3.0以上的语法有些不同
参考技术B list(map(cube,range(1,11)))

python 3以上要加list本回答被提问者采纳

matlab中std函数用法怎么用啊?主要是想求一个矩阵的标准差的

参考技术A std(x) 算出x的标准偏差.x可以是一行的matrix或者一个多行matrix矩阵如果只有一行,那么就是算一行的标准偏差,如果有多行,就是算每一列的标准偏差.std(x,a)也是x的标准偏差但是a可以=0或者1.如果是0和前面没有区别...

以上是关于python map函数怎么用啊!的主要内容,如果未能解决你的问题,请参考以下文章

python 的scipy 里的 odeint 这个求微分方程的函数怎么用啊

bitblt函数怎么用啊?

C语言substr函数怎么用啊?

strtok函数怎么用啊?

c语言 自定义函数怎么用啊

matlab中lhsdesign函数怎么用啊,