1樓:聽雨婷
map()是 python 內建的高階函式,它接收一個函式 f 和一個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到一個新的 list 並返回。
你傳入的 '12345'字串也是屬於列表。每個元素就是 ['1','2','3','4','5']
所以第一個輸出的無可厚非。
第二個報錯其實原因就是因為你的digits裡面沒有'1'這個key,所以會報錯。
根本不會出現'12345'這個key的。如果想出現,就把**修改下
def char(s):
digits =
return digits[s]
list(map(char,['12345','2','3','4','5']))
2樓:匿名使用者
因為在map的第二個引數中傳入字串時是按照拆分字串的方法,將字串中每一個字元作為第一個引數也就是char函式的引數。第二個裡面你把'12345'作為map的第二個引數,就被拆分為1到5各5個字元,但是在digits中沒有1這個key所以報錯
3樓:
map的作用是把『12345』分為『1』,『2』,『3』,『4』,『5』分別作為引數傳入char函式中。所以這就是為什麼結果是[1,2,3,4,5],後面的錯誤也是你把『1』這個key改掉了,找不到了,自然就報錯了。
python map()函式問題
4樓:可靠的我心我在
不知道來你的dataset 是什麼資料,是否是從數源據庫取出來的結果遊標,
如果是的 那麼dataset 只能用一次,用空之後它就為空了檢測方法
d = map(set,dataset)
print dataset #看看這裡的 dataset 是否為空了如果是以上說的情況 很容易解決
操作之前 給 給個變數 接納一哈 這個結果集tmp = dateset
d = map(set,tmp)
print len(list(d))
print len(list(d))
5樓:匿名使用者
我的環境也是這樣的,你現在知道這是什麼原因?
6樓:玩轉資料處理
你環境有問題吧,把d列印出來看看。
200懸賞,,python, map()使用問題 200
7樓:匿名使用者
看這個說法,再結合你這問題,好像map物件的值在使用過一次後被**了
進行繫結物件後
但是a物件值被清空了,a物件本身還是存在的。
python中使用map()和直接使用list()有啥不一樣啊
8樓:天蠍憶雙魚
python2 區別不大,python3 map() 返回的是迭代器。
9樓:
filter 是過濾器,你提供一個方法判斷,它就把符合這個方法的資料過濾出來;
map 是對映,你提供一種轉換方式,它將遍歷列表或者元祖或者別的什麼資料按照這種轉換方式全部轉換。
10樓:
引數中有函式時,map更快,而且在很多場合map會更靈活
python map問題 10
11樓:育知同創教育
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
python中map函式
12樓:匿名使用者
map在python2返回list,在python3返回iterator.
如果想在python3得到可以反覆重用的list,只要把iterator轉成list即可:
lst_result = list(map(func, items))
求python的map函式
13樓:匿名使用者
_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'>>>
如果這不是你想要的,請舉例說
版明什麼是想要的結果。權
14樓:匿名使用者
>> _tabkeys = map(int,tabkeys[1:_len])
>> 但希望返回的索引從0開始.也就是 _tabkeys[0]=int(tabkeys[1])
你這個map應該沒有版
問題。list本身權索引都是從0開始的。
用Python生成excel,如何用Python實現exce
可以使用xlsxwriter 庫實現 如下 import xlsxwriter import sys reload sys 解決中文編碼問題 sys.setdefaultencoding utf 8 建立一個絕對路徑為.test.xlsx的excel檔案workbook xlsxwriter.wor...
初學python感受和c的不同,初學python,感受和C的不同
好吧。1 python是個怪物。用了10年了,感覺它與其它語言不太一樣。所以c語言是必學的。python語言有些特別。如果同時學可能混淆。如果你時間不足夠,兩個同時學也沒有大問題。2 不過最好還是先學習c語言。把它學成優秀,然後緊接著再學習python。3 c語言學習並不會花多長時間。我曾經教一個沒...
map中怎樣獲取map中第i個元素
map將key和value組成的pair作為元素,根據key的排序準則自動將元素排序,map中的存取封裝了二叉樹,因此map按照自專己的演算法來進 屬行存取,跟你給元素賦值的順序無關,無論哪一個先賦值最終的map中資料排列屬性都是 m 3 2 m 6 7 m 9 3 m 100 9 即按照key的大...