enumerate()使用
enumerate()使用
如果對一個列表,既要遍歷索引又要遍歷元素時,首先可以這樣寫:
list1 = ["這", "是", "一個", "測試"] for i in range (len(list1)): print i ,list1[i]上述方法有些累贅,利用enumerate()會更加直接和優(yōu)美:
list1 = ["這", "是", "一個", "測試"] for index, item in enumerate(list1): print index, item >>> 0 這 1 是 2 一個 3 測試enumerate還可以接收第二個參數(shù),用于指定索引起始值,如:
list1 = ["這", "是", "一個", "測試"] for index, item in enumerate(list1, 1): print index, item >>> 1 這 2 是 3 一個 4 測試三元運算
val = a if 3<6 else b
判斷文件是什么編碼,用第三方庫判斷
import chardet
讀文件
f = open('1.txt',mode = 'rb') #b的作用是讀出二進(jìn)制
f = open('1.txt',mode = 'ab' #a 追加模式
mode = 'r+' #讀寫模式,先讀后寫
mode = 'w+' #寫讀模式,先以寫的模式打開,再讀
flush() #把內(nèi)存寫進(jìn)硬盤里
readable() #判斷是否可讀
tell() #返回當(dāng)前光標(biāo)位
seek() #回光標(biāo)位
read() #讀的是字節(jié)
seek() 和 tell() #讀的是字符
f.truncate() #從當(dāng)前位置刪除
Word文檔打開時是先打開到內(nèi)存里面去
?
函數(shù)
def 定義
形參
實參
默認(rèn)參數(shù)
默認(rèn)參數(shù)必須放在形參的后面
非固定參數(shù)
send_alert(msg,*user) args # *傳遞的參數(shù)就可以不再固定個數(shù) ,*后打包成元組
func(name,*args,**kwargs)
return #代表一個函數(shù)的終止;函數(shù)永遠(yuǎn)只會返回一個值
局部變量 #先執(zhí)行局部變量,再全局變量
函數(shù)內(nèi)部,可以調(diào)用全局變量
global #在函數(shù)里修改全局變量
嵌套函數(shù)
一個函數(shù)就是一個作用域,代碼定義完成后,作用域就已經(jīng)生成,無論其中的函數(shù)在哪里運行,該函數(shù)都會返回其作用域里運行
匿名函數(shù):lambda x,y:x*y #聲明一個匿名函數(shù),復(fù)雜程度只能到三元運算
高階函數(shù) #接受一個或多個函數(shù)作為輸入;;return返回另外一個函數(shù)
遞歸函數(shù)的返回值
def calc(x,count):if count < 5:
x = x/2
print('x', x)
return calc(x,count+1) #此return是為了上一層獲得下一層的return值
else:
print('x',x)
return x #此return是為了使最底層返回一個值給上一層,兩個return 缺一不可
遞歸的特性
1.必須要有一個明確的結(jié)束條件
2.每次進(jìn)入下一層,問題規(guī)模比上次遞歸要有所減少
3.遞歸效率不高,遞歸次數(shù)過多會導(dǎo)致棧溢出
轉(zhuǎn)載于:https://www.cnblogs.com/tyh-tesla/p/8447092.html
總結(jié)
以上是生活随笔為你收集整理的enumerate()使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大龄程序员的未来在何方
- 下一篇: java 实现excel 导出功能