亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

Python入門之迭代,列表解析,生成器及文件操作

迭代器是訪問集合元素的一種方式,迭代器包含了__iter__()(返回迭代器對(duì)象本身)next()(返回迭代器的下一個(gè)元素)
迭代器只能往前不會(huì)退后

以下類型支持迭代

  1. 序列類型:list,str,tuple

  2. 非序列類型:dict,file

  3. 自定義類

通過內(nèi)建的函數(shù)iter()或?qū)ο笞詭Х椒╛_iter__可以獲取迭代器對(duì)象

l1=range(5)
iter1=iter(l1)
print l1
<listiterator at 0x291cc90>

使用next()方法可以訪問下一個(gè)元素:

print iter1.next()
0
print iter1.next()
1
print iter1.next()
2
...
print iter1.next()
---------------------------------------------------------------------------
StopIteration                             Traceback (most recent call last)
<iPython-input-10-54f0920595b2> in <module>()

如果迭代器越界則會(huì)拋出StopIteration異常

列表解析:根據(jù)已有的列表,高效產(chǎn)生新列表的方法

將列表中的值開方后放入另外一個(gè)列表:

l1=[1,2,3,4,5]
l2=[i**2 for i in l1]
print l2
[1, 4, 9, 16, 25]

也可加入判斷,將列表中的偶數(shù)開放后放入另外一個(gè)列表:

l1=[1,2,3,4,5]
l2=[i**2 for i in l1 if i%2 == 0]
print l2
[4, 16]
[expression for iter_var in iterable if cond_expr]

生成器表達(dá)式

(expression for iter_var in iterable if cond_expr)

g1=(i**2 for i in range(1,5))
print g1
<generator object <genexpr> at 0x2921500>

通過next方法獲取值

g1.next()
1
g1.next()
4

內(nèi)置函數(shù)open()用于打開文件和創(chuàng)建文件對(duì)象 close()用于關(guān)閉

open(name[,mode[,bufsize]])

name表示文件名,mode表示模式,bufsize表示緩沖區(qū)參數(shù)

mode有以下幾種

r 讀;w 寫;a 從文件底部追加;r+ 可讀可寫,不可創(chuàng)建不存在的文件;w+ 可讀可寫,可創(chuàng)建不存在的文件 a+ 可讀可寫,從底部追加,不存在則創(chuàng)建

b表示以二進(jìn)制模式打開文件

bufsize

0表示無緩沖 1表示使用緩沖 負(fù)數(shù)表示使用系統(tǒng)默認(rèn)設(shè)置,正數(shù)表示指定大小緩沖

file.readline()輸出一行,file.readlines()輸出所有

f1=open('/tmp/passwd','a+')
f1.readline()
'root:x:0:0:root:/root:/bin/bash\n'
f1.readlines()
['bin:x:1:1:bin:/bin:/sbin/nologin\n',
 'daemon:x:2:2:daemon:/sbin:/sbin/nologin\n',
 'adm:x:3:4:adm:/var/adm:/sbin/nologin\n',
...]

file.tell()獲取在文件當(dāng)前位置

f1.tell()
1099

file.seek(offset[,whence])控制位置

whence起點(diǎn):0,從文件頭;1,從當(dāng)前位置;2,從末尾  offset偏移量

f1.seek(10,0)
f1.readline()
':root:/root:/bin/bash\n'

file.write('some words')寫入文件

file.flush()將文件內(nèi)容從內(nèi)存寫入磁盤

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!