Ⅰ 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