干貨一條街 2018-06-01 20:40:08 列表(list)是python標準數(shù)據(jù)類型之一,使用列表操作數(shù)據(jù)就顯得極其重要了。 我們先看一個例子 列表解析 a = [x for x in range(10)], 我們可以理解為,當x在range(10)里時,a.append(x)。 用代碼描述: 源碼,供大家實驗
當然,我們還可以用列表去做一些更加復雜的的事,比如, 本來需要很多行代碼的事,一行就搞定了。 不過,這樣做也可能有拖慢程序的整體速度,因為a = [x for x in range(10)]語句是一次生成所有的列表元素,將其放入內(nèi)存中待用,這就導致了資源的浪費。比如我們使用a =[ x for x in range(100000000)],那么就會生成一億個數(shù),多數(shù)計算機是有壓力的(大家可以自己試一試)。 這時我們就需要用到生成器了,直接返回一個可迭代對象。例如: 生成器 大家可以看見,a不在是是list類型了,而是一個可迭代對象,瞬間完成。 next迭代 每迭代一次,就生成一個數(shù)。除了next,大家也可以用for迭代取出對象a的值。 |
|