|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 wei_Y 于 2014-11-9 19:02 编辑
一个比较有用的函数,map函数。准确的解释直接在shell里扣help(map),不过是英文。(我终于看懂英文的一部分了!)
,咳咳,翻译一下~(好有成就感)
他有两个参数,第一个参数是函数,也就是包括自写函数(lambda也算)和内置函数。
第二个参数是迭代器,列表,元组,字典之类的。
注意的一点是第二个参数是个'*',所以可以上很多迭代器一块搞。
作用是将迭代器执行函数操作。
需要对一个列表进行操作的时候显得比较方便,当然也完全可以写for来实现。
需要注意的是自写的函数有多个参数的时候:
比如进行的map操作传入很可能写的是map(abc,list1)尤其是当list1只有俩数的的时候- -。(我就犯了这错。。)
正确的写法是map(abc,list1,list2)
他进行的处理是根据函数进行的,也就是说他每次的执行是取list1和list2同样下标的数进行abc函数操作。至于返回就是abc这个函数的返回了。
另外,只有map的话是一个地址。
如果需要还要将他转换,或者迭代粗来。
如果那个函数只有一个参数但是需要处理的有很多怎么办呢?
把函数改成多个参数?还是一个个的处理了添加?
这些都不用,python还有另外一个函数替我们整理这些乱七八糟的参数。
内置的abs只能有一个参数。
直接传是不行了,我们可以通过zip将list1和list2包裹,处理方式也和map的处理一样。
不过,这样做虽然解决了多参数问题,新问题是zip返回的是个元组!所以不能执行'改变'的步骤。
所以我现在想到的办法是自写zip- -。大家折腾吧,我还木写粗来。。
动态规划
不确定是不是动态规划,看百度说的是动态规划。没理解,直接放问题。
输入数据: 一组数据列表输出数据: 各个数差异的最小的正整数
[10,10] = 0
[10] = 10
[5,8,13,14,27] = 3
[5,5,6,5] = 1
[12,30,30,32,42,49] = 9
[1,1,1,3] = 0
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] = 0
动起手来吧~~!有鱼币奖励哦~。
这里还有一个动态规划的。
http://bbs.fishc.com/forum.php?mod=viewthread&tid=54578&ctid=12
之前用随机做的也就木在意。如果不懂的可以看下那个答案。
我的思路:
从第一个数开始进行加减,加减后的数在和下一个进行加减。
最后返回绝对值最小的那一个。
那个不大会作图,图就不标了。
我的答案 :
Your answer :
|
评分
-
查看全部评分
|