python高階用法 Python高階用法

2021-10-10 23:28:31 字數 1671 閱讀 4406

python高階用法

三元表示式

x = 10

y = 20

print(x if x > y else y)

x = 100

y = 20

print(x if x > y else y)

列表推導式和生成器

列表推導式

print([i for i in range(10)])

print([i*2 for i in range(10)])

print([i-1 for i in range(10)])

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8]

生成器把列表推導式的換成()就是生成器表示式

優點:省記憶體,一次只產生乙個值在記憶體中

t = (i for i in range(10))

print(t)

print(f"next(t): ")

zip()返回乙個zip物件,其內部元素為元組;可以轉化為列表或者元組

keys = ['name', 'age', 'gender']

values = ['nick', 19, 'male']

res = zip(keys, values)

print(res)

for i in res:

print(i)

print(f"zip(keys,values): ")

info_dict =

print(f"info_dict: ")

('name', 'nick')

('age', 19)

('gender', 'male')

zip(keys,values):

info_dict: {}

匿名函式

匿名函式就是乙個沒有變數名的函式物件

res = (lambda x, y: x+y)(1, 2)

print(res)

print(lambda x, y: x+y)

應用(一般和內建函式聯用)

匿名函式通常與max()、sorted()、filter()、sorted()方法聯用。

舉例filter 匿名

name_list = ['nick', 'jason sb', 'tank sb', 'sean sb']

filter_res = filter(lambda name: name.endswith('sb'), name_list)

print(f"list(filter_res): ")

list(filter_res): ['jason sb', 'tank sb', 'sean sb']

正常函式

name_list = ['nick', 'jason sb', 'tank sb', 'sean sb']

def zx(name):

return name.endswith('sb')

filter_res = filter(zx, name_list)

print(f"list(filter_res): ")

list(filter_res): ['jason sb', 'tank sb', 'sean sb']

Pytho高階篇 yield的用法

yield 是python中非常有用的乙個關鍵字,可以實現很多魔法。yield關鍵字主要有一下幾個用法。1.yield基本用法 yield用在函式中,實現類似用return的功能,但是返回的是乙個generator.更多詳細解釋,參考下邊的 如何正確理解yiled在函式中的作用 2.yield實現上...

python高階用法

建立dict i for i in range 10 pandas給乙個dataframe的列沒有在另乙個dataframe的列中出現的列賦值為nan df a.loc df a.isin df b col name unique col name nan pandas做笛卡爾積 df a valu...

python是高階動態程式語言 Python語言

python是一門跨平台 開源 免費的解釋型高階動態程式語言。python支援命令式程式設計 how to do 函式式程式設計 what to do 完全支援物件導向程式設計,擁有大量擴充套件庫。膠水語言 可以把多種不同語言編寫的程式融合到一起實現無縫拼接,更好地發揮不同語言和工具的優勢,滿足不同...