Python3執行系統命令的幾種方式
阿新 • • 發佈:2022-05-11
python 推導式
推導式介紹:
推導式comprehensions(又稱解析式),是Python的一種獨有特性。推導式是可以從一個數據序列構建另一個新的資料序列的結構體。
Python 支援各種資料結構的推導式:
- 列表(list)推導式
- 字典(dict)推導式
- 集合(set)推導式
- 元組(tuple)推導式
一、列表推導式
需求:返回1-100的所有偶數
方法一:通過以前的方法迴圈實現
# 返回1-100的所有偶數 # while迴圈 i = 0 res1 = [] while i <= 100: if i % 2 == 0: res1.append(i) i += 1 print("res1的值為:", res1) # for 迴圈 res = [] for i in range(1, 101): if i % 2 == 0: res.append(i) print(res)
方法二:使用列表推導式
# 列表推導式 列表解析
# print([i for i in range(1, 101) if i % 2 == 0])
# 練習
print(["第" + str(i) + "題" for i in range(1, 10)])
print([f"第{i}題" for i in range(1, 10)])
二、字典推導式
需求:解析cookie的值,使得cookie值變為 { key : value } 格式
方法一:通過for方法實現
# 字典的解析 cookie = "rememberMe=true; jenkins-timestamper-offset=-28800000; username=Admin123; " \ "password=bV20PE+Yc97gTHFulwksGA3CMiTC1IBUFUfy7thyETb2nw3wnApW5KU4HWnyNicTYB9J7SFRVQIuKVpYNt+/zw==; " \ "Admin-Token=eyJhbGciOiJIUzUxMiJ9" \ ".eyJsb2dpbl91c2VyX2tleSI6IjllOTRhNmQzLWJiMTMtNDczMS1hMzBlLTBiOWRmYjdhOTBiOSJ9.OLAXY7ZlKcO" \ "-9O3aZbugmj3EpRyPZDlCE3EL3dOHWBOeeJcfUfaQbI7xGC287URgnOzHuZ4bZ2Lv5PPVaNT0Hw" # cookie格式: key=value; key1=value1; # cookie轉換後的格式: {key:value, key1:value1} new_cookie = {} for item in cookie.split(";"): # 先用;分割cookie s = item.split("=") # 用 = 分割 new_cookie[s[0]] = s[1] # 左邊作為key,右邊作為值,新增到new_cookies中去 print(new_cookie)
方法二:使用字典推導式
# 字典推導式 字典解析
print({item.split("=")[0]: item.split("=")[1] for item in cookie.split(";")})
# 簡單練習
print({i:i+1 for i in range(1,10)})
三、集合推導式
# 計算數字1,2,3的平方數
print({i**2 for i in (1,2,3)})
四、元組推導式
元組推導返回的結果是一個生成器物件
a = (x for x in range(1,10)) print(a) # 返回的是生成器物件 # 結果:<generator object <genexpr> at 0x7faf6ee20a50> print(tuple(a)) # # 使用 tuple() 函式,可以直接將生成器物件轉換成元組 # 結果:(1, 2, 3, 4, 5, 6, 7, 8, 9)