欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

首先來看一下代碼:

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

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

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

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

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

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

當(dāng)只有一個if時:

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

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

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

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

這句話的意思是,使用map對chars中的每一個字符利用ord函數(shù)進(jìn)行處理。再使用filter對這每一個字符的ASCII碼進(jìn)行過濾大于等于98的,最后將這些符合條件的值存進(jìn)一個列表中。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)

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

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

用生成器表達(dá)式生成元組和數(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ù)組中元素的存儲方式。如果生成器表達(dá)式是唯一的參數(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)知識點(diǎn),感謝大家的學(xué)習(xí)和對腳本之家的支持。

相關(guān)文章

  • ITK 實(shí)現(xiàn)多張圖像轉(zhuǎn)成單個nii.gz或mha文件案例

    ITK 實(shí)現(xiàn)多張圖像轉(zhuǎn)成單個nii.gz或mha文件案例

    這篇文章主要介紹了ITK 實(shí)現(xiàn)多張圖像轉(zhuǎn)成單個nii.gz或mha文件案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 對python中raw_input()和input()的用法詳解

    對python中raw_input()和input()的用法詳解

    下面小編就為大家分享一篇對python中raw_input()和input()的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python中asyncio與aiohttp入門教程

    Python中asyncio與aiohttp入門教程

    今天小編就為大家分享一篇關(guān)于Python中asyncio與aiohttp入門教程,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • PyTorch預(yù)訓(xùn)練的實(shí)現(xiàn)

    PyTorch預(yù)訓(xùn)練的實(shí)現(xiàn)

    這篇文章主要介紹了PyTorch預(yù)訓(xùn)練的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • python 處理dataframe中的時間字段方法

    python 處理dataframe中的時間字段方法

    下面小編就為大家分享一篇python 處理dataframe中的時間字段方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 深入淺析Python 函數(shù)注解與匿名函數(shù)

    深入淺析Python 函數(shù)注解與匿名函數(shù)

    這篇文章主要介紹了Python 函數(shù)注解與匿名函數(shù)的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • python使用celery實(shí)現(xiàn)異步任務(wù)執(zhí)行的例子

    python使用celery實(shí)現(xiàn)異步任務(wù)執(zhí)行的例子

    今天小編就為大家分享一篇python使用celery實(shí)現(xiàn)異步任務(wù)執(zhí)行的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python生成ubuntu apt鏡像地址實(shí)現(xiàn)

    Python生成ubuntu apt鏡像地址實(shí)現(xiàn)

    本文主要介紹了Python生成ubuntu apt鏡像地址實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • python交互式圖形編程實(shí)例(二)

    python交互式圖形編程實(shí)例(二)

    這篇文章主要為大家詳細(xì)介紹了python交互式圖形編程實(shí)例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Python OpenCV對圖像像素進(jìn)行操作

    Python OpenCV對圖像像素進(jìn)行操作

    大家好,本篇文章主要講的是Python OpenCV對圖像像素進(jìn)行操作,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01

最新評論