迭代是python最強大的功能之一,是訪問集合元素的一種方式。
迭代器是乙個可以記住遍歷的位置的物件。
迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。
迭代器有兩個基本的方法:iter() 和 next()。
字串,列表或元組物件都可用於建立迭代器
classrewrite(object): 測試:1def__init__(self,max=0): 3
self.max = max
self.num = 1
def__iter__(self):
returnself
def__next__(self):
ifself.num<= self.max:
num = self.num
self.num +=2
returnnum
else:
returnstopiteration()
i=rewrite(5)
print(i.__next__())
print(i.__next__())
迭代中_iter_和_netx_的使用
num=[1,2,3,4] 測試:1it = iter(num)
print(it.__next__())
list = [2, 4, 6, 8] 測試:21,列表推導式:(使用生成list)it = iter(list) 4
while true: 6
try: 8
print(next(it))
exceptstopiteration:
sys.exit()
numbers = [namesfornamesinrange(2000)if(names %400==0)or(names %4==0andnames %100!=0)]
print(numbers)
輸出:閏年,數量太多,不便寫上
deften(x):測試:[0, 4, 8, 12, 16]returnx+x
number = [ten(x)forxinrange(10)ifx%2==0]
print(number)
2,集合推導式(使用{}生成集合)
id =print(id)
測試:
3,字典推導式(他也是要用{}生成字典,不過要是key,value形式才行)
mcase =mcase_frequency =
print (mcase_frequency)測試:
日誌:python中有乙個模組logging,可以直接記錄日誌
# 日誌級別logging.basicconfig()函式中的具體引數:# critical 50
# error 40
# warning 30
# info 20
# debug 10
filename: 指定的檔名建立filedhandler,這樣日誌會被儲存在指定的檔案中;
filemode: 檔案開啟方式,在指定了filename時使用這個引數,預設值為「w」還可指定為「a」;
format: 指定handler使用的日誌顯示格式;
level: 設定rootlogger的日誌級別
stream: 用指定的stream建立streamhandler。可以指定輸出到sys.stderr,sys.stdout或者檔案,預設為sys.stderr。
若同時列出了filename和stream兩個引數,則stream引數會被忽略。
python日誌 推導 迭代器
日誌 importlogging log format asctime s levelname s message s logging.basicconfig level logging.debug,format log format deftest try a int input 請輸入乙個被除數...
Python的推導,迭代器,日誌
推導式包含 列表推導式 字典推導式 集合推導式 巢狀列表推導式 列表 例 names bob tom alice jerry wendy smith print name.upper for name in names if len name 3 輸出 alice jerry wendy smith...
python 推導 Python 推導式
python 語言有一種獨特的語法,它可以用最簡單的方式生成乙個列表 元組或字典,它們叫推導式。常見的推導式 列表推導式 字典推導式 集合推導式 列表推導式 列表推導式可以快速生成乙個列表,其語法格式為 x x for x in range 6 結果 0,1,4,9,16,25 相當於 l for ...