切片
? ? list和tuple可使用切片棚品,例如L[x:y]來獲得第x到y(tǒng)-1的內(nèi)容靠欢。
? ? 有趣的是,字符串在python中也可以被視作一種list铜跑。
迭代
可以用 for key in d ,? for value in d.values() , for k,v in d.items() 來迭代dict中的 key value 或同時(shí)迭代二者门怪,默認(rèn)情況下迭代為key。使用enumerate函數(shù)可以將list變?yōu)樗饕?元素對(duì)锅纺,在迭代時(shí)可對(duì)二者同時(shí)進(jìn)行調(diào)用掷空。
列表生成
? ??[x * x for x in range(1,11)]
? ? (MATLAB表示列表生成在座的各位都是垃圾)
生成器和迭代器
生成器
? ? 生成器在循環(huán)過程中不斷推算出后續(xù)內(nèi)容,從而減小內(nèi)存占用囤锉,生成器同樣可以使用for.. in..調(diào)用坦弟。
? ? 方法一,可以把列表生成中[]改為()獲得官地。
? ? 方法二酿傍,使用yield關(guān)鍵字生成。注意驱入,在有yield的情況下赤炒,調(diào)用next時(shí)執(zhí)行,遇到y(tǒng)ield返回亏较,再次執(zhí)行時(shí)從上次返回的yield語句處繼續(xù)莺褒。
迭代器
????可以被next()函數(shù)調(diào)用并不斷返回下一個(gè)值的對(duì)象稱為迭代器:Iterator。生成器都是Iterator對(duì)象雪情,但list遵岩、dict、str雖然是Iterable巡通,卻不是Iterator尘执。把list、dict扁达、str等Iterable變成Iterator可以使用iter()函數(shù)正卧。