久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

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

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

以下類型支持迭代

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

  2. 非序列類型:dict,file

  3. 自定義類

通過內建的函數iter()或對象自帶方法__iter__可以獲取迭代器對象

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

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

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>()

如果迭代器越界則會拋出StopIteration異常

列表解析:根據已有的列表,高效產生新列表的方法

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

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

也可加入判斷,將列表中的偶數開放后放入另外一個列表:

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]

生成器表達式

(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

內置函數open()用于打開文件和創建文件對象 close()用于關閉

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

name表示文件名,mode表示模式,bufsize表示緩沖區參數

mode有以下幾種

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

b表示以二進制模式打開文件

bufsize

0表示無緩沖 1表示使用緩沖 負數表示使用系統默認設置,正數表示指定大小緩沖

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()獲取在文件當前位置

f1.tell()
1099

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

whence起點:0,從文件頭;1,從當前位置;2,從末尾  offset偏移量

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

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

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

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 琼结县| 紫阳县| 景谷| 澎湖县| 彭阳县| 龙游县| 察雅县| 阳城县| 鲁山县| 万年县| 平江县| 苍山县| 正镶白旗| 辰溪县| 湘潭县| 山东省| 阜阳市| 五原县| 当阳市| 广宁县| 麦盖提县| 贺州市| 镇康县| 抚宁县| 拜城县| 万载县| 雷波县| 西和县| 乌什县| 平凉市| 红河县| 彝良县| 金川县| 吉安县| 锦州市| 阳朔县| 伊吾县| 泗水县| 安龙县| 尖扎县| 邢台县|