Python中列表推导式同filter和map的比较
生活随笔
收集整理的這篇文章主要介紹了
Python中列表推导式同filter和map的比较
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
symbols = "symbols"
beyond_ascii = [ord(s) for s in symbols if ord(s) > 100]beyond_ascii_2 = list(filter(lambda c: c > 100, map(ord, symbols)))
print(beyond_ascii)
print(beyond_ascii_2)
列表推導式構建笛卡爾積
colors = ["黑色", "白色"] sizes = ["S", 'M', "L"] ths = [(color, size) for color in colors for size in sizes] print(ths)生成器表達式
雖然也可以用列表推導式來初始化元組 數組或其他序列類型,但是生成器表達式是更好的選擇.這是因為生成器表達式遵循了迭代器協議,可以逐個的產出元素,而不是先建立一個完整的列表,然后再把這個列表傳遞到某個構造函數里.
用生成器表達式初始化元組和數組
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:725638078 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' print(tuple(ord(s) for s in symbols))注意,如果生成器表達式是一個函數調用過程中的唯一參數,那么不需要額外的再用括號把它圍起來.
import arrayprint(array.array("I", (ord(s) for s in symbols)))array的構造方法需要兩個參數,因此括號是必須的.array構造方法的第一個參數指定了數組中數字的存儲方式.
結尾給大家推薦一個非常好的學習教程,希望對你學習Python有幫助!
Python基礎入門教程推薦:更多Python視頻教程-關注B站:Python學習者
https://www.bilibili.com/video/BV1LL4y1h7ny?share_source=copy_web
Python爬蟲案例教程推薦:更多Python視頻教程-關注B站:Python學習者
https://www.bilibili.com/video/BV1QZ4y1N7YA?share_source=copy_web
總結
以上是生活随笔為你收集整理的Python中列表推导式同filter和map的比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Python中为什么切片要忽略最后一个
- 下一篇: 在学习Python基础中需要知道的知识点