1、匿名函式lambda
一段示例**:
def f(x, y):
return x+y
reduce(f, [1,2,3]) # reduce的作用是將list中的值累計相加(f函式提供的計算)1+2=3,3+3=6
等價於:
reduce(lambda x,y:x+y, [1,2,3])
list1=[2, 18, 9, 22, 17, 24, 8, 12, 27]
[x for x in filter(lambda x:x%3==0, list1)] # filter函式將已知的序列的每個元素呼叫給定的布林函式,呼叫中,返回值為非零的元素將被新增至乙個列表中
[18, 9, 24, 12, 27]
[x for x in map(lambda x:x*2, list1)] # map()將函式呼叫對映到每個序列的對應元素上並返回乙個含有所有返回值的列表
[4, 36, 18, 44, 34, 48, 16, 24, 54]
這裡需要注意的是filter和map兩個函式在python2和3中的區別,在2中可以直接執行map(lambda x:x*2, foo)即可得出結果,而在3中如果直接執行的話,會顯示為:,所以如果想要得到值的話需要遍歷下列表。
2、python的淺拷貝copy()和深拷貝deepcopy()
同樣是以乙個例子來開始:
import copy
a = [1,2,3,4,['a','b']] # 原始物件
b = a
c = copy.copy(a) # 物件拷貝,淺拷貝
d = copy.deepcopy(a) # 物件拷貝,深拷貝
print('a=', a)
a= [1, 2, 3, 4, ['a', 'b', 'c'], 5]
print('b=', b)
b= [1, 2, 3, 4, ['a', 'b', 'c'], 5]
print('c=', c)
c= [1, 2, 3, 4, ['a', 'b', 'c']]
print('d=', d)
d= [1, 2, 3, 4, ['a', 'b']]
Python學習 持續更新
先立個flag 2017 10 13 time 2017 10 15 今天花時間搭好了環境,寫了幾個print語句。實際上一臉懵逼,還不太清楚python的整個結構。說實話我找不到類似c語言裡面的.c h檔案這樣的。對整個結構都不太清楚,也沒找到.py檔案,實在是不清楚。哦原來是建立檔案的時候錯了 ...
python爬蟲筆記 持續更新
爬蟲主要分為兩個部分,第乙個是網頁介面的獲取,第二個是網頁介面的解析 爬蟲的原理是利用 模擬瀏覽器訪問 與瀏覽器不同的是,爬蟲獲取到的是網頁的源 沒有了瀏覽器的翻譯效果。這裡我們使用urllib2進行 頁面的獲取 首先匯入urllib2模組包 import urllib2 呼叫urllib2中的ur...
指標學習筆記(持續更新)
question 1.什麼是指標?2.指標與引用的異同?何時使用指標,何時使用引用?1.c 提供兩種字串 string類物件和c風格的基於指標的char 字串。2.常量指標自身不可改變,而指向的目標可以改變。使用const修飾指標 指向非常量資料的非常量指標 如 int ptr 應用 間接引用指標使...