map()函数
接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。
举例说明,比如我们有一个函数f(x)=x%2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()实现
使用lambda函数
print map(lambda x: x % 2, range(7))
[0, 1, 0, 1, 0, 1, 0]
set函数
是一个无序不重复元素集
基本功能包括关系测试和消除重复元素.
1.消除重复:
a=[11,21,11,21,222,21]
c =list(set(a))
结果:
c
Out[86]: [11, 21, 222]
2.关系测试:
x = set('spam')
y=set(['h','a','m'])
list(x&y)
list(x|y)
list(x-y)
举个应用示例:
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
代码:
#X1=N*2-100的合集
x1 = map(lambda i:i**2-100,range(1,100))
#X2=M*2-100-168的合集
x2 = map(lambda i:i**2-100-168,range(1,100))
#两个合集求并集结果
list(set(list(x1)) & set(list(x2)))