python推導式pythonic必備
推導式(又稱解析式) 是Python的⼀種獨有特性。
推導式是可以從⼀個資料序列構建另⼀個新的資料序列的結構體。 共有三種推導:
- 列表(list)推導式
- 字典(dict)推導式
- 集合(set)推導式
列表推導式 (list comprehensions)
列表推導式(又稱列表解析式) 提供了⼀種簡明扼要的方法來建立列表。
它的結構是在一箇中括號裡包含一個表示式, 然後是一個for語句, 然後是0個或多個for或者if語句。 那個表示式可以是任意的, 意思是你可以在列表中放入任意型別的物件。 返回結果將是⼀個新的列表, 在這個以if和for語句為上下⽂的表示式運⾏完成之後產生
規範variable = [x for x in list if something == 2]
這⾥是另外⼀個簡明例子:
multiples = [i for i in range(30) if i % 3 is 0]
print(multiples)
# Output: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]
列表推導式在有些情況下超讚, 特別是當你需要使⽤for迴圈來生成一個新列表。 舉個例子, 通常一般人會這樣做:
squared = []
for x in range(10):
squared.append(x**2)
你可以使⽤列表推導式來簡化它:squared = [x**2 for x in range(10)]
字典推導式(dict comprehensions)
字典推導式,使用的場景比較少,但是有一點是超級讚的!
問題:遇到字典的鍵值對互換,你會怎麼操作?
- 使用for迴圈?
mydict={"a":1,"b":2,"c":3}
mydict_new={}
for key,val in mydict.items():
mydict_new[val]=key
- 使用zip?
mydict={"a":1,"b":2,"c":3}
newdict=dict(zip(mydict.values(),mydict.keys()))
- say no,你應該使用字典推導式!
mydict={"a":1,"b":2,"c":3}
newdict={v: k for k, v in some_dict.items()}
or
newdict=dict([val,key] for key,val in mydict.items())
集合推導式(set comprehensions)
至於集合推導式,跟列表推導式大同小異,不過在去重方面是set的強項
舉個栗子:
squared = {x**2 for x in [1, 1, 2]}
print(squared)
# Output: {1, 4}
相關文章
- Python推導式(列表推導式、元組推導式、字典推導式和集合推導式)Python
- Python推導式Python
- python 推導式Python
- python——列表推導式Python
- Python 字典推導式Python
- Python的列表推導式Python
- Python 中的推導式Python
- Python推導式 - 最全用法Python
- Python筆記-列表推導式Python筆記
- python--各種推導式Python
- python列表推導式是什麼?Python
- 開心檔之python 推導式Python
- Python學習筆記|Python之推導式Python筆記
- 列表推導式
- Python操作Excel的36個必備函式PythonExcel函式
- Python之禪(Pythonic)Python
- 22、Python 字典推導與集合推導Python
- python生成器和各種推導式Python
- python 列表推導式與 assert 的結合使用Python
- 24/9/21 python的推導式、生成器Python
- Java學習必備書籍推薦Java
- VSCode必備外掛推薦VSCode
- python推導資料Python
- Python-100 練習題 01 & 列表推導式Python
- python編碼規範以及推導式的編寫Python
- 【推薦】Python資料分析必備的第三方庫!Python
- 『無為則無心』Python序列 — 24、Python序列的推導式Python
- 8個最常用的內建函式,Python小白必備!函式Python
- Python 機器學習的必備技巧Python機器學習
- 使用Python的enumerate()函式編寫更Pythonic的迴圈Python函式
- 強烈推薦| 工程化必備的幾個 Python 開發工具Python
- python 生成器 和生成器函式 以及各種推導式Python函式
- 二項式定理公式推導公式
- Python金融行業必備工具Python行業
- 生成器 推導式 內建函式函式
- 瞧瞧,這樣的「函式」才叫 Pythonic函式Python
- 裝機必備的五款軟體推薦
- 牆裂推薦:Web前端開發必備工具Web前端