『壹』 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函數傳入多個參數後出錯

def mul(x): return x*x def my_map(func, args): for n in args: print(func(n)) my_map(mul, [1,2,3,4])

『叄』 python map函數怎麼用啊!

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)]

『肆』 求python的map函數

_tabkeys = map(int,tabkeys[1:_len])
相當來於_tabkeys[0] = int(tabkeys[1])
.... _tabkeys[i] = int(tabkeys[i+1])

這不正是你要的?自
例子:

>>> tabkeys=['1','2','3']
>>> _len = len(tabkeys)
>>> _tabkeys = map(int,tabkeys[1:_len])
>>> _tabkeys
[2, 3]

>>> _tabkeys[0]
2
>>> tabkeys[1]
'2'
>>>

如果這不是你想要的,請舉例說明什麼是想要的結果。

『伍』 假設python沒有提供map()函數,請自行編寫一個my_map()函數實現與map()相同的

#python的map,filter,rece等函數復都是為制了簡化,方便循環list的函數。
#所以如果不用的話,就相當於把for循環展開
L=[1,2,3,4,5]
defmy_map(L):
result=[]
foreinL:
result.append(e*2+1)
returnresult
printmap(lambdax:x*2+1,L)#輸出[3,5,7,9,11]
printmy_map(L)#輸出[3,5,7,9,11]
#不用函數
print[x*2+1forxinL]#輸出[3,5,7,9,11]
#不用函數計算大於等於3的
print[x*2+1forxinLifx>=3]#輸出[7,9,11]
#使用mapfilter計算大於等於3的,
printmap(lambdax:x*2+1,filter(lambdax:x>=3,L))#輸出[7,9,11]

『陸』 python 3.5 map 函數 提示<map object at 0x000000000A32A320>

python3相對python2map返回有點小變化
print(list(map(lambda...,...)))
要想得到列表得用list()轉換哈否者得到是map對象

『柒』 Python 3.5.1的map函數結果輸出一串字元

python3
map和zip一樣返回的是迭代子,而不是所有的結果,你可以通過next函數獲取下一個或者外加list獲取全部

『捌』 python中map函數

map在python2返回list,在python3返回iterator.


如果想在python3得到可以反復重用的list,只要把iterator轉成list即可:

lst_result=list(map(func,items))

『玖』 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()有啥不一樣啊

Map介面:Map沒有繼承Collection介面,Map提供key到value的映射。一個版Map中不能包含相同的key,每個key只能映射一個 value。Map介面提供權3種集合的視圖,Map的內容可以被當作一組key集合,一組value集合,或者一組key-value映射。
List介面:List是有序的Collection,使用此介面能夠精確的控制每個元素插入的位置。用戶能夠使用索引(元素在List中的位置,類似於數組下標)來訪問List中的元素,這類似於Java的數組。
和下面要提到的Set不同,List允許有相同的元素。
除了具有Collection介面必備的iterator()方法外,List還提供一個listIterator()方法,返回一個 ListIterator介面,和標準的Iterator介面相比,ListIterator多了一些add()之類的方法,允許添加,刪除,設定元素,還能向前或向後遍歷。
實現List介面的常用類有LinkedList,ArrayList,Vector和Stack。