1. 程式人生 > >python--內建next()函式

python--內建next()函式

我們首先要知道什麼是可迭代的物件(可以用for迴圈的物件)Iterable:

一類:list,tuple,dict,set,str

二類:generator,包含生成器和帶yield的generatoe function

而生成器不但可以作用於for,還可以被next()函式不斷呼叫並返回下一個值,可以被next()函式不斷返回下一個值的物件稱為迭代器:Iterator

生成器都是Iterator物件,但list,dict,str是Iterable,但不是Iterator,要把list,dict,str等Iterable轉換為Iterator可以使用iter()函式

next()用法:

next(iterator[, default])
iterator – 可迭代物件
default – 可選,用於設定在沒有下一個元素時返回該預設值,如果不設定,又沒有下一個元素則會觸發 StopIteration 異常。

list_ = [1,2,3,4,5]
it = iter(list_)
next(it,’-1’)
1

next(it,’-1’)
2

next(it,’-1’)
3

next(it,’-1’)
4

next(it,’-1’)
5

next(it,’-1’

next()函式自動呼叫檔案第一行並返回下一行

import csv

filename = r'C:\Users\22240\Desktop\lianxi\sitka_weather_07-2014.csv'
with open(filename) as f:
    reader = csv.reader(f)
    header_row = next(reader)
    xiayihang = next(reader)
    print(header_row)
    print(xiayihang)

這是打印出來的結果
[‘AKDT’, ‘Max TemperatureF’, ‘Mean TemperatureF’, ‘Min TemperatureF’, ‘Max Dew PointF’, ‘MeanDew PointF’, ‘Min DewpointF’, ‘Max Humidity’, ’ Mean Humidity’, ’ Min Humidity’, ’ Max Sea Level PressureIn’, ’ Mean Sea Level PressureIn’, ’ Min Sea Level PressureIn’, ’ Max VisibilityMiles’, ’ Mean VisibilityMiles’, ’ Min VisibilityMiles’, ’ Max Wind SpeedMPH’, ’ Mean Wind SpeedMPH’, ’ Max Gust SpeedMPH’, ‘PrecipitationIn’, ’ CloudCover’, ’ Events’, ’ WindDirDegrees’]
[‘2014-7-1’, ‘64’, ‘56’, ‘50’, ‘53’, ‘51’, ‘48’, ‘96’, ‘83’, ‘58’, ‘30.19’, ‘30.00’, ‘29.79’, ‘10’, ‘10’, ‘10’, ‘7’, ‘4’, ‘’, ‘0.00’, ‘7’, ‘’, ‘337’]
這是原始檔可以看出打印出來了前兩行內容
在這裡插入圖片描述