最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python列表推導(dǎo)和生成器表達式知識點總結(jié)

 更新時間:2020年01月10日 08:38:41   作者:西西嘛呦  
在本篇文章里小編給大家整理的是關(guān)于python列表推導(dǎo)和生成器表達式的相關(guān)知識點內(nèi)容,需要的朋友們可以參考下。

首先來看一下代碼:

chars = "abcd"
tmp = []
for char in chars:
 tmp.append(ord(char))
print(tmp)

這是一般的寫法,將字符串中的每一個字符轉(zhuǎn)換稱ASCII碼,然后存進一個tmp數(shù)組。

利用列表推導(dǎo)的方式

tmp = [ord(char) for char in chars]

輸出:[97,98,99,100]

列表推導(dǎo)中也可以使用if和else。

當只有一個if時:

chars = "abcd"
tmp = [ord(char) for char in chars if ord(char)>=98]
print(tmp)

輸出:['b','c','d']

額外提一下,當然我們也可以利用filter和map達到相同的效果

tmp = list(filter(lambda x:x>=98,map(ord,chars)))

這句話的意思是,使用map對chars中的每一個字符利用ord函數(shù)進行處理。再使用filter對這每一個字符的ASCII碼進行過濾大于等于98的,最后將這些符合條件的值存進一個列表中。lambda x:x>98是一個匿名函數(shù)。

有一個if else時:

chars = "abcd"
tmp = [True if ord(char)>=98 else False for char in chars]
print(tmp)

輸出:[False, True, True, True]

一般而言,列表推導(dǎo)應(yīng)盡量保持簡短。

再看下一個例子:利用列表推導(dǎo)計算笛卡兒積(以衣服的顏色和尺寸為例)

colors = ["black","white"]
sizes = ["S","M","L"]
tshirts = [(color,size) for color in colors for size in sizes]
print(tshirts)

生成器表達式可以用于生成其它數(shù)據(jù)類型的序列,雖然列表推導(dǎo)也可以初始化元祖、數(shù)組和其它類型,但是生成器表達式是更好的選擇。這是因為生成器表達式背后遵從迭代器協(xié)議,可以逐個產(chǎn)生元素,而不是先建立一個完整的列表。

生成器表達式語法和列表差不多,只不過把方括號變成圓括號。

用生成器表達式生成元組和數(shù)組例子:

chars = "abcd"
tmp = tuple(ord(char) for char in chars)
print(tmp)

輸出:(97, 98, 99, 100)

import array
chars = "abcd"
a = array.array("I",(ord(char) for char in chars))
print(a)

輸出:array('I', [97, 98, 99, 100])

array的構(gòu)造方法須提供兩個參數(shù),第一個是數(shù)組中元素的存儲方式。如果生成器表達式是唯一的參數(shù),就不用括號括起來,這里不是唯一的,因此要用括號括起來。

colors = ["black","white"]
sizes = ["S","M","L"]
for tshirt in ("%s %s" % (c,s) for c in colors for s in sizes):
  print(tshirt)

輸出:

black S
black M
black L
white S
white M
white L

以上就是本次介紹的全部相關(guān)知識點,感謝大家的學習和對腳本之家的支持。

相關(guān)文章

  • python接口測試對修改密碼接口進行壓測

    python接口測試對修改密碼接口進行壓測

    這篇文章主要為大家介紹了python接口測試對修改密碼接口進行壓測的腳本實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 學習Python爬蟲前必掌握知識點

    學習Python爬蟲前必掌握知識點

    這篇文章主要介紹了學習Python爬蟲前,我們需要了解涉及爬蟲的知識點,學習爬蟲的知識點比較多,我們一起學習爬蟲吧
    2021-04-04
  • python實戰(zhàn)練習之最新男女顏值打分小系統(tǒng)

    python實戰(zhàn)練習之最新男女顏值打分小系統(tǒng)

    前幾天不是出過一期Python美顏相機嘛?不知道大家現(xiàn)在還記不記得?這一期的話題還是緊接著那一期顏值方面來走,對大家的學習或工作具有一定的價值,需要的朋友可以參考下
    2021-09-09
  • 用Python進行柵格數(shù)據(jù)的分區(qū)統(tǒng)計和批量提取

    用Python進行柵格數(shù)據(jù)的分區(qū)統(tǒng)計和批量提取

    該教程其實源于web,我看到之后覺得很實用,于是自己又重復(fù)做了一遍,寫了詳細的注釋分享給大家,希望對大家的研究有幫助,本文講述了柵格的分區(qū)統(tǒng)計,批量提取,深化理解遍歷循環(huán)等內(nèi)容
    2021-05-05
  • opencv中cv2.minAreaRect函數(shù)輸出角度問題詳解

    opencv中cv2.minAreaRect函數(shù)輸出角度問題詳解

    minAreaRect返回的數(shù)據(jù)包括了矩形的中心點,寬、高,和旋轉(zhuǎn)角度,下面這篇文章主要給大家介紹了關(guān)于opencv中cv2.minAreaRect函數(shù)輸出角度問題的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Python3內(nèi)置模塊random隨機方法小結(jié)

    Python3內(nèi)置模塊random隨機方法小結(jié)

    這篇文章主要介紹了Python3內(nèi)置模塊random隨機方法小結(jié),random是Python中與隨機數(shù)相關(guān)的模塊,其本質(zhì)就是一個偽隨機數(shù)生成器,我們可以利用random模塊基礎(chǔ)生成各種不同的隨機數(shù),以及一些基于隨機數(shù)的操作,需要的朋友可以參考下
    2019-07-07
  • python繪制淺色范圍曲線的示例代碼

    python繪制淺色范圍曲線的示例代碼

    這篇文章主要介紹了python繪制淺色范圍曲線,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • 零基礎(chǔ)寫python爬蟲之抓取糗事百科代碼分享

    零基礎(chǔ)寫python爬蟲之抓取糗事百科代碼分享

    前面我們介紹了如何抓取百度貼吧文章,然后講解了python的神器正則表達式,下面,我們就把2者結(jié)合起來,詳細介紹下,如何來抓取到糗事百科里面的指定內(nèi)容
    2014-11-11
  • python中3種等待元素出現(xiàn)的方法總結(jié)

    python中3種等待元素出現(xiàn)的方法總結(jié)

    發(fā)現(xiàn)太多人不會用等待了,小編今天實在是忍不住要給大家講講等待的必要性,下面這篇文章主要給大家介紹了關(guān)于python中3種等待元素出現(xiàn)的方法,需要的朋友可以參考下
    2022-03-03
  • python爬蟲自動創(chuàng)建文件夾的功能

    python爬蟲自動創(chuàng)建文件夾的功能

    這篇文章主要介紹了python爬蟲自動創(chuàng)建文件夾的功能,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-08-08

最新評論

丁青县| 毕节市| 萍乡市| 驻马店市| 新丰县| 广平县| 绿春县| 南漳县| 大兴区| 永泰县| 姚安县| 霍州市| 鹰潭市| 阿瓦提县| 洛浦县| 稷山县| 弋阳县| 搜索| 大埔县| 密云县| 涞源县| 盘锦市| 东宁县| 将乐县| 淮北市| 安仁县| 忻城县| 南澳县| 大英县| 永顺县| 沈丘县| 晋江市| 阳新县| 即墨市| 韩城市| 民乐县| 会同县| 长岭县| 崇礼县| 西充县| 牙克石市|