對於dict不能用dicti來訪問元素,而需要通過dict[key]來訪問!!而tuple元組可以
filter()函式為已知的序列的每個元素呼叫給定布林函式,每個filter返回的true的元素新增到乙個列表中。返回的物件是乙個從原始佇列中「過濾後」的佇列
print filter(lambda n:n%2,allnums)
[9,44,55,65]
map最簡單的形式中,map()帶乙個函式和佇列,將函式作用在序列的每個元素上,然後建立由每次函式應用組成的返回值列表。
map((lambda x:x+2),[0,1,2,3,4,5])
- [2,3,4,5,6,7]
使用帶多個序列的map()的例子:
map(lambda x,y:x+y,[1,3,5],[2,4,6])
[3,7,11]
map(lambda x,y: (x+y,x-y),[1,3,5],[2,4,6])
[(3,-1),(7,-1),(11,-1)]
map(none,[1,3,5],[2,4,6])
[(1,2),(3,4),(5,6)]
reduce()使用了乙個二元函式(乙個接收帶兩個值作為輸入,進行一些計算然後返回乙個值作為輸出),乙個序列,和乙個可選的初始化器,
通過取出序列的頭兩個元素,將他們傳入二元函式來獲得乙個單一的值的實現。然後又用這個值和序列的下乙個元素來獲得又乙個值。然後繼續直到整個序列的內容都遍歷完畢以及最後的值會被計算出來為止。reduce(func,[1,2,3]) == func(func(1,2),3)
print 『the total is:』,reduce((lambda x,y: x+y),range(5) #[0,1,2,3,4]
the total is :10
給出了上面的輸入,reduce()函式執行了如下的算術操作。
((((0+1)+2)+3)+4)=10
• filter(func,list): 對list元素都執行func,如返回true則保留,否則被過濾掉.
• map(func,list): 對list元素都執行func,並返回對應的list
• reduce(func,seq[,init]): init預設第一項,把該項和後一項傳遞給func,返回的結果再和下一項扔給func,直到結束
• enumerate(iter): 對可迭代物件所有項迭代索引,專案對。如用於編號迭代。返回迭代物件
• eval(exp[,global[,local]]): 會計算表示式exp的值,並返回結果.eval(raw_input(…))等於input(..).可用兩個命名空間。
o >>> result = eval(『2+3』)
result5 scope={}
scope[『a』] = 3
scope[『b』] = 4
result = eval(『a+b』,scope)
result
7 • eval()函式十分強大,官方demo解釋為:將字串str當成有效的表示式來求值並返回計算結果。
• set(seq): 返回([…])的集合,無重複元素的.seq可為字串,元組,列表.
• lambda x: 含x表達: 就是對x進行表示式中的運作,返回函式物件lambda.用法a=lambda x:x*2+3 執行a(5).
python中 python中的 與
這一部分首先要理解python記憶體機制,python中萬物皆物件。對於不可變物件,改變了原來的值,其別名 變數名 繫結到了新值上面,id肯定會改變 對於可變物件,操作改變了值,id肯定會變,而 是本地操作,其值原地修改 對於 號操作,可變物件和不可變物件呼叫的都是 add 操作 對於 號操作,可變...
python中的物件 Python中的變數 物件
由於沒時間系統學習下python 只能見乙個問題 乙個問題了 一 初級 物件 關於python中的資料型別,今天重新認識了下。參考 首先,python中,物件才有型別,變數是沒有型別的,它只是物件的 引用 其次,python中物件被分為兩類 可更改物件和不可更改物件 包括numbers,string...
python中的引數傳遞 python中的引數傳遞
begin 前面在介紹python的六大資料型別的時候提到根據資料可變和不可變進行的資料型別分類 python3 的六個標準資料型別中 不可變資料 3 個 number 數字 string 字串 tuple 元組 可變資料 3 個 list 列表 dictionary 字典 set 集合 pytho...