Python學習筆記
一描函、collection模塊
?1.Counter
? ? 用于計數(shù):most_common函數(shù)
2.defaultdict
defaultdict 用例
>>>from collectionsimport defaultdict
>>> s = [('yellow',1), ('blue',2), ('yellow',3), ('blue',4), ('red',1)]
>>> d = defaultdict(list)>>>for k, vin s:...? ? d[k].append(v)...
>>> d.items()
dict_items([('blue', [2,4]), ('red', [1]), ('yellow', [1,3])])
3.namedtuple
>>> Point = namedtuple('Point', ['x','y'])# 定義命名元組
二软驰、map函數(shù)(對序列進行同樣函數(shù)操作)
1.map() 函數(shù)語法:
map(function, iterable, ...)
2.參數(shù)
function -- 函數(shù)霹娄,有兩個參數(shù)
iterable -- 一個或多個序列
3.用例
>>>def square(x) : # 計算平方數(shù)...?
?????????????return x ** 2...
>>> map(square, [1,2,3,4,5])? # 計算列表各個元素的平方
????[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5])? # 使用 lambda 匿名函數(shù)
????[1, 4, 9, 16, 25]?
三仙逻、xrange函數(shù)
xrange(start, stop[, step]) 起點竟宋,終點逻卖,步長
四叨吮、isinstance() 函數(shù)
isinstance() 函數(shù)用來判斷一個對象是否是一個已知的類型辆布,類似 type()。
1.用例
isinstance(object, classinfo)
object -- 實例對象茶鉴。
classinfo -- 可以是直接或間接類名锋玲、基本類型或者由它們組成的元組。
五涵叮、join函數(shù)和format函數(shù)
六惭蹂、os.walk函數(shù)
1.使用
os.walk的函數(shù)聲明為:
walk(top, topdown=True, onerror=None, followlinks=False)
參數(shù)
top 是你所要便利的目錄的地址
topdown 為真,則優(yōu)先遍歷top目錄割粮,否則優(yōu)先遍歷top的子目錄(默認為開啟)
onerror 需要一個 callable 對象盾碗,當walk需要異常時,會調(diào)用
followlinks 如果為真舀瓢,則會遍歷目錄下的快捷方式(linux 下是 symbolic link)實際所指的目錄(默認關(guān)閉)
os.walk 的返回值是一個生成器(generator),也就是說我們需要不斷的遍歷它置尔,來獲得所有的內(nèi)容。
每次遍歷的對象都是返回的是一個三元組(root,dirs,files)
root 所指的是當前正在遍歷的這個文件夾的本身的地址
dirs 是一個 list ,內(nèi)容是該文件夾中所有的目錄的名字(不包括子目錄)
files 同樣是 list , 內(nèi)容是該文件夾中所有的文件(不包括子目錄)
七榜轿、folder內(nèi)按順序讀取文件代碼:
self._images=[]
? ? ? ? for _, _, files in os.walk(self.seqdir):
? ? ? ? ? ? for file in files:
? ? ? ? ? ? ? ? if file.endswith('jpg') or file.endswith('png'):
? ? ? ? ? ? ? ? ? ? self._images.append(file)
? ? ? ? self._images.sort(key= lambda x:int(x[:-4]))
#最后一行寫法很好
我們想先排序列表list中元素的第一個關(guān)鍵字,然后在第一個元素的基礎(chǔ)上排序按第二個關(guān)鍵字進行排序朵锣,看結(jié)果:
>>>?list?=?[('d',3),('a',5),('d',1),('c',2),('d',2)]
>>>?print?sorted(list, key?=?lambda?x:(x[0],x[1]))
[('a',?5), ('c',?2), ('d',?1), ('d',?2), ('d',?3)]