1. 程式人生 > >Python Map()方法的用法

Python Map()方法的用法

map()函式
map()是 Python 內建的高階函式,它接收一個函式 f 和一個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到一個新的 list 並返回。

例如,對於list [1, 2, 3, 4, 5, 6, 7, 8, 9]

如果希望把list的每個元素都作平方,就可以用map()函式:



因此,我們只需要傳入函式f(x)=x*x,就可以利用map()函式完成這個計算:

def f(x):
    return x*x
print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
輸出結果:

[1, 4, 9, 10, 25, 36, 49, 64, 81]
注意:map()函式不改變原有的 list,而是返回一個新的 list。

利用map()函式,可以把一個 list 轉換為另一個 list,只需要傳入轉換函式。

由於list包含的元素可以是任何型別,因此,map() 不僅僅可以處理只包含數值的 list,事實上它可以處理包含任意型別的 list,只要傳入的函式f可以處理這種資料型別。

任務
假設使用者輸入的英文名字不規範,沒有按照首字母大寫,後續字母小寫的規則,請利用map()函式,把一個list(包含若干不規範的英文名字)變成一個包含規範英文名字的list:

輸入:['adam', 'LISA', 'barT']
輸出:['Adam', 'Lisa', 'Bart']


def format_name(s):
    s1=s[0:1].upper()+s[1:].lower();
    return s1;

print map(format_name, ['adam', 'LISA', 'barT'])


map()函式是python內建的高階函式,對傳入的list的每一個元素進行對映,返回一個新的對映之後的list

使用map()函式可以實現將其他型別的數轉換成list,但是這種轉換也是有型別限制的,具體什麼型別限制,在以後的學習中慢慢摸索吧。這裡給出幾個能轉換的例子:

***將元組轉換成list***
>>> map(int, (1,2,3))
[1, 2, 3]
***將字串轉換成list***
>>> map(int, '1234')
[1, 2, 3, 4]
***提取字典的key,並將結果存放在一個list中***
>>> map(int, {1:2,2:3,3:4})
[1, 2, 3]
***字串轉換成元組,並將結果以列表的形式返回***
>>> map(tuple, 'agdf')
[('a',), ('g',), ('d',), ('f',)]
#將小寫轉成大寫
def u_to_l (s):
  return s.upper()
print map(u_to_l,'asdfd'



print map(None, [2,4,6],[3,2,1])


***  判斷list 中重複出現的次數

方法一:
      mylist = [1,2,2,2,2,3,3,3,4,4,4,4]
      myset = set(mylist)  #myset是另外一個列表,裡面的內容是mylist裡面的無重複 項
	for item in myset:
        print("the %d has found %d" %(item,mylist.count(item)))

方法二:
	List=[1,2,2,2,2,3,3,3,4,4,4,4]
a = {}
for i in List:
  if List.count(i)>1:
    a[i] = List.count(i)
print (a)

方法三:利用字典的特性來實現。

>>> from collections import Counter
>>> Counter([1,2,2,2,2,3,3,3,4,4,4,4])
Counter({1: 5, 2: 3, 3: 2})

這裡再增補一個只用列表實現的方法:

l=[1,4,2,4,2,2,5,2,6,3,3,6,3,6,6,3,3,3,7,8,9,8,7,0,7,1,2,4,7,8,9]
 
count_times = []
for i in l :
  count_times.append(l.count(i))
 
m = max(count_times)
n = l.index(m)
 
print (l[n])

方法四:
len(list) == len(set(list))

相關推薦

Python Map()方法用法

map()函式 map()是 Python 內建的高階函式,它接收一個函式 f 和一個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到一個新的 list 並返回。 例如,對於list [1, 2, 3, 4, 5, 6, 7, 8, 9] 如果希望

python zip方法用法

參考:https://blog.csdn.net/xlinsist/article/details/51346523 http://www.runoob.com/python/python-func-zip.html 1.zip() 函式用於將可迭代的物件作為引數,將物件中對應的元

python-map用法

map()函式 map()是 Python 內建的高階函式,它接收一個函式 f 和一個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到一個新的 list 並返回。 1、當seq只有一個時,將函式func作用於這個seq的每個元素上,並得到一個新的seq

python map 常見用法

list 合併 1 2 3 4 5 6 7 8 >>>list1=[11,22,33] >>>map(None,list1) [11,22,

python 函式的定義及呼叫語法,map 方法

1.什麼是函式    開發程式時候,需要程式碼執行多次,為了提高編寫效率及程式碼重用性,所以把具有獨立功能的程式碼塊組織為一個小模組,給這個功能一個名稱,這就是函式。    函式可以使用系統自帶的函式也可以自定義函式   &nbs

列表[‘hello’ , ‘python’ ,’!’ ] 用多種方法拼接,並輸出’hello python !’ 以及join()在python中的用法簡介

列表[‘hello’ , ‘python’ ,’!’ ] 用多種方法拼接,並輸出’hello python !’ 使用字串連結的四種方法都可以建立 字串拼接一共有四種方法,也可以應用到列表的拼接中 a = [‘hello’,‘python’,’!’] 第一

Pythonmap()方法如何使用?

注意:本文為轉載文章,如有侵權請告之,將予以刪除 原文連結:https://blog.csdn.net/loner_fang/article/details/80769504   在學習map()方法之前,我們先在互動模式下看下map()的用法說明。 從上面可以得到的資訊

Python map()函式的用法

Python函數語言程式設計之map() Python中map()、filter()、reduce()這三個都是應用於序列的內建函式。 格式: map(func, seq1[, seq2,…]) 第一個引數接受一個函式名,後面的引數接受一個或多個可迭代的

Python的format方法用法

轉自http://blog.csdn.net/xiaofeng_yan/article/details/6648493 在Python 3.0中,%操作符通過一個更強的格式化方法format()進行了增強。對str.format()的支援已經被反向移植到了Python 2

Python isalnum() 方法用法

描述Python isalnum() 方法檢測字串是否由字母和數字組成。語法isalnum()方法語法:str.isalnum()引數無。返回值如果 string 至少有一個字元並且所有字元都是字母或數字則返回 True,否則返回 False例項以下例項展示了isalnum(

python 學習方法

模塊 經驗 utili 交互 class 印象 www 進行 os.path 依據本人的學習經驗,我總結了下面十點和大家分享: 1)學好python的第一步。就是立即到www.python.org站點上下載一個python版本號。我建議剛開始學習的人,不要下載具有ID

Python 魔術方法.

方法 pla 字符串 play bject ins 發現 報錯 如果 ‘123‘ + ‘456‘ ‘123‘.__add__.‘456‘   Python 中,這兩個語句是等價的。具體的說,第二句是第一句的具體實現。當處理‘+’的時候,Python 會去‘+’號的左側

Map.putAll()用法

輸出結果 net pla rgs get system void util ace import Java.util.HashMap; public class Map_putAllTest {public static void main(String[] args){

pythonpython魔法方法(待填坑)

絕對值 tle init cls -m del __init__ 另一個 trunc 參考博文:http://pyzh.readthedocs.io/en/latest/python-magic-methods-guide.html 參考博文英文原版:http://www

Python中 isinstance()用法 判斷對象的類型

pytho () type logs pan code ret instance col isinstance(p_object, class_or_type_or_tuple):判斷對象的類型 a=123 ret=isinstance(a,int) print(ret)

python sys.argv用法

例子 意思 代碼 過大 應該 [0 後來 第一個元素 了吧 因為是看書自學的python,開始後不久就遇到了這個引入的模塊函數,且一直在IDLE上編輯了後運行,試圖從結果發現它的用途,然而結果一直都是沒結果,也在網上查了許多,但發現這個問題的比較詳細的解釋只有一個版本,

Python字典方法

attribute obj raised dict pda getitem items 叠代 closed 字典方法 1 class dict(object): 2 """ 3 dict() -> new empty dictionar

Python列表方法

iter log dex ace name indices ttr eal alt 列表的方法 1 class list(object): 2 """ 3 list() -> new empty list 4 list(it

python魔法方法詳解

返回 call __init__ and -m 描述 nbsp shift 賦值 文章來源:http://blog.csdn.net/koko66/article/details/42709279 據說,Python 的對象天生擁有一些神奇的方法,它們總被雙下劃線所包圍

ES6新增數據結構Map用法

轉換函數 out 使用數組 undefine true blog name efi foreach Javascript的Object本身就是鍵值對的數據結構,但實際上屬性和值構成的是”字符串-值“對,屬性只能是字符串,如果傳個對象字面量作為屬性名,