1、列表生成式
在實際開發過程中,當需要獲取一個連續列表時,可直接使用range(3,10)
,但是如果獲取該列表中每個數據的平方時,通常可以通過for循環來解決這個問題,如下面的方法一。由於python中存在內置函數,使用循環過於繁瑣,python中的列表生成式可以一句語句代替循環生成的list。
def cal(a): return a**2+3 #方法一(循環): lst=[] for i in range(10): lst.append(cal(i)) #方法二(列表生成式): lst=[cal(i) for i in range(10)]
在使用列表生成式時,可以進行條件篩選,例如 [i for i in range(10) if i%2==0] ,通過這種方式來篩選列表中的偶數。
也可以進行雙重循環,例如 [i*j for i in range(1,5) for j in range(6,9)] 。通過該循環獲取數據乘積的列表。
2、鍵盤輸入數據轉換
python通過鍵盤輸入數據,數據類型為字符串類型, a=input() ,當需要輸入多個數據時,可通過空格等字符進行區分, b=a.split() ,如果是通過其余字符進行區分的,在split()
中插入指定字符。也可以通過 a.split('',1) 來控制分解次數。
當需要輸入的為整型時,可以使用map()函數
進行數據類型的轉換。map()
會根據提供的函數對指定序列做映射。 c=list(map(int,input().split())) 得到一個整型的列表,map
會將輸入切分之后的每個數據進行int
類型的轉換。
也可以對列表進行自動解包,例如,當輸入的數據切分之后為三個值時,將分解之后的每個值分別賦予a、b、c, a,b,c=list(map(int,input().split())) 。
3、英文字母
(1)Python中 swapcase() 方法用於對字符串的大小寫字母進行轉換。 str1.swapcase() 。
(2)Python中獲取所有大小寫字母。
(3)判斷是否為字母通過 a.isalpha() ,輸出的結果為一個Ture或False。
import string str1='adW7djk25RES' #大小寫字母相互轉換 print(str1.swapcase()) #小寫字母 lower=string.ascii_lowercase #大寫字母 upper=string.ascii_uppercase print(lower,upper) #字母的判斷並獲取非字母數量 print(sum([not a.isalpha() for a in str1]))
4、數組的使用
廣播(Broadcast)是 numpy 對不同形狀(shape)的數組進行數值計算的方式, 對數組的算術運算通常在相應的元素上進行。
import numpy as np array = np.random.rand(10)#隨機生成一個數組 print(array) #廣播,5與一維數組中的每個元素相加 print(array+5) #兩個一維數組相加,對應位置相加 array1 = np.array([1,2,3,4]) array2 = np.array([5,6,7,8]) arraysum = array1 + array2 print(arraysum) #兩個不同維度的進行相加 a = np.array([[ 0, 0, 0],[10,10,10],[20,20,20],[30,30,30]]) b = np.array([1,2,3]) print(a + b)
輸出結果如下:
numpy的相關計算
import numpy as np lst=range(1,5) lst_mean=np.mean(lst)#均值 lst_var=np.var(lst)#方差 lst_std=np.std(lst)#標准差 lst_prod=np.prod(lst)#連乘積 lst_cumsum=np.cumsum(lst)#累積和 lst_cumprod=np.cumprod(lst)#累積積
5、if…else的使用
"pass" if score>60 else "fail" #相當於下面多行語句 if score>60: print("pass") else: print("fail")
6、math()
fabs() 方法返回數字的絕對值,fabs()是不能直接訪問的,需要導入 math 模塊,通過靜態對象調用該方法。
import math print(math.fabs(-45))
7、True、False
True在計算中相當於1,False在計算中相當於0。3+True=4,可直接用於計算。
8、字符串翻轉
(1)給定一個字符串,然后將其翻轉,逆序輸出。
(2)使用 reversed()
,然后使用 join()
方法用於將序列中的元素以指定的字符連接生成一個新的字符串。
s='ABCDabcd' u=s[::-1] print(u) t=''.join(reversed(s)) print(t)
9、循環語句
for 實例中使用了 break 語句,break 語句用於跳出當前循環體。對於不滿足循環條件的,可以通過else進行其他條件操作。
sites = ["Baidu", "Google","Runoob","Taobao"] for site in sites: if site == "Runoob": print("啦啦啦!") break print("循環數據 " + site) else: print("沒有循環數據!")
在 while … else 在條件語句為 false 時執行 else 的語句塊:
count = 0 while count < 5: print (count, " 小於 5") count = count + 1 else: print (count, " 大於或等於 5")