python列表生成式、鍵盤輸入及類型轉換、字符串翻轉、字母大小寫、數組廣播、循環語句等基礎問題


Python知識總結

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")

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM