Ⅰ python map()函数问题
不知道你的dataSet 是什么数据,是否是从数据库取出来的结果游标,
如果是的 那么dataSet 只能用一次版,用空之后它就为权空了
检测方法
D = map(set,dataSet)
print dataSet #看看这里的 dataSet 是否为空了
如果是以上说的情况 很容易解决
操作之前 给 给个变量 接纳一哈 这个结果集
tmp = dateSet
D = map(set,tmp)
print len(list(D))
print len(list(D))
Ⅱ Python中map()问题
map()是 Python 内置的高阶函来数,它接自收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
你传入的 '12345'字符串也是属于列表。每个元素就是 ['1','2','3','4','5']
所以第一个输出的无可厚非。
第二个报错其实原因就是因为你的digits里面没有'1'这个key,所以会报错。
根本不会出现'12345'这个key的。如果想出现,就把代码修改下
defchar(s):
digits={'0':0,'12345':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
returndigits[s]
list(map(char,['12345','2','3','4','5']))
Ⅲ python中使用map()和直接使用list()有啥不一样啊
python2 区别不大,python3 map() 返回的是迭代器。
Ⅳ 关于Python中filter 和map这两个方法有区别吗用法和结果都是一样的
filter 是过滤器,你提供一个方法判断,它就把符合这个方法的数据过滤出来;
map 是映射,你提供一种转换方式,它将遍历列表或者元祖或者别的什么数据按照这种转换方式全部转换。
Ⅳ python中flatmap和map的区别
map( ):接收一个函数,应用到RDD中的每个元素,然后为每一条输入返回一个对象。
flatMap( ):接回收一个函数,应用到答RDD中的每个元素,返回一个包含可迭代的类型(如list等)的RDD,可以理解为先Map(),后flat().
Ⅵ python3.2 的filter()和map()怎么用。
filter(function, iterable)
map(function, iterable)
filter将 function依次作用于iterable的每个元素,如果返回值为true, 保留元素,否内则从iterable里面删除
例如:
def test(x):
return (x > 3)
filter(test, [1, 2, 3, 4, 5]) =====> [4, 5]
map将function作用于iterable,每个元素,将容对应输出结果保存为一个list
例如
def add(x):
return (1 + x)
map(test, [1, 2, 3, 4, 5]) =====> [2, 3, 4, 5, 6]
Ⅶ 如何在python3.3用 map filter rece
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env python
# coding=utf-8
"""
map, filter, rece in python3
"""
from functools import rece
def test_main():
assert list(range(10)) == [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
assert list(map(lambda x: x + 1, range(10))) == [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
assert rece(lambda x, y: x + y, range(10)) == 45
assert list(filter(lambda x: x > 5, range(10))) == [6, 7, 8, 9]
def main():
test_main()
if __name__ == '__main__':
main()
只有rece被移到functools模块里面了。其它没什么大变。
Ⅷ python filter过滤器疑问
map是把函数调用抄的结果放在列表里面返回,它也可以接受多个 iterable,在第n次调用function时,将使用iterable1[n], iterable2[n], ...作为参数。
filter(function, iterable)
这个函数的功能是过滤出iterable中所有以元素自身作为参数调用function时返回True或bool(返回值)为True的元素并以列表返回.
def f_large_than_5(x):
return x > 5
filter(f_large_than_5, range(10))
>>[6,7,8,9]
Ⅸ python中filter和map的区别
li = [11,22,33,44,55,66]
ret = filter(lambda a:a>33,li)
print(list(ret))
ret1 = filter(lambda a:a+100,li)
print(ret1)
ret2 = map(lambda a:a>33,li)
print(list(ret2))
ret3 = map(lambda a:a+100,li)
print(list(ret3))
输出:
[44, 55, 66]
[11, 22, 33, 44, 55, 66]
[False, False, False, True, True, True]
[111, 122, 133, 144, 155, 166]
通过结果可以看出:filter通过lambda表达式的判断表达式(如a>33)作为删选条件,内当为true时才保容留a;而map中的lambda表达式中的(如a+100)是个赋值操作,通过对列表li的每个项做该操作后得到新的列表
个人理解,欢迎指正
Ⅹ python map问题
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]
一个最简单的例子,如基于f(x) = x²,map()作用于list [1, 2, 3, 4, 5, 6, 7, 8, 9]后的结果如下:返回结果仍为list