我可能會在Python中的hashmap
和Python中的map
/dict
之間混淆。
我認爲爪哇hash
(K/V抽象)是一種相同的如在Python地圖和字典之間的區別
dict
但那麼,什麼是map
數據類型呢?
它和散列圖抽象是一樣的抽象嗎?如果是這樣,那麼它與字典有什麼不同呢?
我仔細閱讀了文檔,但是我花了整個不同的範例:函數式編程。
我可能會在Python中的hashmap
和Python中的map
/dict
之間混淆。
我認爲爪哇hash
(K/V抽象)是一種相同的如在Python地圖和字典之間的區別
dict
但那麼,什麼是map
數據類型呢?
它和散列圖抽象是一樣的抽象嗎?如果是這樣,那麼它與字典有什麼不同呢?
我仔細閱讀了文檔,但是我花了整個不同的範例:函數式編程。
Map在Python中不是數據類型。它將函數應用於一系列值並返回結果。
>>> def f(x):
... return x**2
...
>>> map(f, range(5))
[0, 1, 4, 9, 16]
往往像一個簡單的例子是「Python的」我們用列表內涵。
>>> [x**2 for x in range(5)]
[0, 1, 4, 9, 16]
你是對你的包含HashMap和類型的字典進行比較。
呀,地圖是不是數據類型:-)看看http://docs.python.org/library/functions.html#map – 2012-04-08 20:51:56
@MaksymPolshcha感謝您的鏈接,我已經編輯它進入我的職務。 – 2012-04-08 20:53:00
對於Python 3,圖*爲*數據類型 - [見我的回答(https://stackoverflow.com/a/45087342/1048186) – 2017-07-13 17:27:17
python中沒有地圖數據類型。 map是一個將函數映射到序列的函數。
def increment(n):
return n+1
l = [1,2,3]
map(increment, l)
會給你一個新的列表[2,3,4]
應用到項目從所有iterables在Python 3,什麼是itertools的IMAP返回映射一個可重複的數據類型,相當於在Python 2
要獲得在Python 3相同的結果Nolan Royalty's的Python 2例如你可以這樣寫:
>>> def f(x):
... return x**2
...
>>> list(map(f, range(5)))
[0, 1, 4, 9, 16]
如果你沒有在Python 3把它包在一個列表中,你會得到一個地圖obj ECT:
>>> map(f, range(5))
... <map object at 0x000000000327E780>
所以有是地圖對象,這是可迭代的,在Python 3
你的問題是有點不清楚,但爲Python,這可能是你正在尋找的文件:HTTP ://docs.python.org/library/stdtypes。HTML#映射類型快譯通 – 2012-04-08 20:50:37