python enumerate 用法,pythonenumerate
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , where thing is either an iterator or a sequence, returns a iterator that will return (0, thing [0]) , (1, thing [1]) , (2, thing [2]) , and so forth.
A common idiom to change every element of a list looks like this:
用法:在同時需要index 和 value 值得時候可以使用
line = [1,3,'dfd','jdjfjd']for i in range(len(line)): item = line[i] print(i,"--->",item)#運行結果:0 ---> 11 ---> 32 ---> dfd3 ---> jdjfjd
等價於下列代碼:
line = [1,3,'dfd','jdjfjd']for i,item in enumerate(line): print(i,"-------",item)
enumerate 實戰
line 是個 string 包含 0 和 1,要把1都找出來:
#方法一def read_line(line): sample = {} n = len(line) for i in range(n): if line[i]!='0': sample[i] = int(line[i]) return sample #方法二def xread_line(line): return((idx,int(val)) for idx, val in enumerate(line) if val != '0') print read_line('0001110101')print list(xread_line('0001110101'))