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

Python 異步之推導式示例詳解

 更新時間:2023年03月22日 10:04:43   作者:冷凍工廠  
這篇文章主要為大家介紹了Python 異步之推導式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

引言

當我們想到“pythonic”時,理解,如列表和字典理解是 Python 的一個特性。

這是我們執(zhí)行循環(huán)的一種方式,與許多其他語言不同。

Asyncio 允許我們使用異步推導式。

我們可以通過“async for”表達式使用異步推導式來遍歷異步生成器和異步迭代器。

1. 什么是異步推導式

異步推導式是經(jīng)典推導式的異步版本。Asyncio 支持兩種類型的異步推導式,它們是“async for”推導式和“await”推導式。

在我們看每之前,讓我們首先回顧一下經(jīng)典的推導式。

2. 推導式

推導式允許以簡潔的方式創(chuàng)建列表、字典和集合等數(shù)據(jù)集合。列表推導式允許從新列表表達式中的 for 表達式創(chuàng)建列表。

...
# create a list using a list comprehension
result = [a*2 for a in range(100)]

還支持推導式來創(chuàng)建字典和集合。

...
# create a dict using a comprehension
result = {a:i for a,i in zip(['a','b','c'],range(3))}
# create a set using a comprehension
result = {a for a in [1, 2, 3, 2, 3, 1, 5, 4]}

3. 異步推導式

異步推導式允許使用帶有異步可迭代對象的“async for”表達式來創(chuàng)建列表、集合或字典。

...
# async list comprehension with an async iterator
result = [a async for a in aiterable]

這將根據(jù)需要創(chuàng)建和安排協(xié)程或任務,并將其結果放入列表中。

回想一下,“async for”表達式只能在協(xié)程和任務中使用。

另外,回想一下異步迭代器是一個產(chǎn)生可等待對象的迭代器。

“async for”表達式允許調(diào)用者遍歷等待對象的異步迭代器并從每個對象中檢索結果。

在內(nèi)部,async for 循環(huán)將根據(jù)需要自動解析或等待每個可等待的調(diào)度協(xié)程。

異步生成器自動實現(xiàn)異步迭代器的方法,也可用于異步推導式。

...
# async list comprehension with an async generator
result = [a async for a in agenerator]

4. Await 推導式

“等待”表達式也可以在列表、集合或字典理解中使用,稱為等待推導式。

與異步推導式一樣,它只能在異步協(xié)程或任務中使用。

這允許通過掛起和等待一系列可等待對象來創(chuàng)建數(shù)據(jù)結構,如列表。

...
# await list compression with a collection of awaitables
results = [await a for a in awaitables]

這將通過依次等待每個可等待對象來創(chuàng)建結果列表。

當前協(xié)程將被掛起以順序執(zhí)行可等待對象,這與使用 asyncio.gather() 并發(fā)執(zhí)行它們不同,而且可能更慢。

以上就是Python 異步之推導式示例詳解的詳細內(nèi)容,更多關于Python 異步推導式的資料請關注腳本之家其它相關文章!

相關文章

  • python 安全地刪除列表元素的方法

    python 安全地刪除列表元素的方法

    這篇文章主要介紹了python 安全地刪除列表元素的方法,分享的方法有 創(chuàng)建新列表,過濾元素和列表副本上迭代,下面相關內(nèi)容需要的小伙伴可以參考一下
    2022-03-03
  • 童年回憶錄之python版4399吃豆豆小游戲

    童年回憶錄之python版4399吃豆豆小游戲

    相信80,90后都玩過4399網(wǎng)站的小游戲,雖然游戲很low但是童年的回憶,今天小編帶你一起用python自己寫一個4399吃豆豆的小游戲,文中給大家介紹的非常詳細,對大家的學習或工作具有一定的價值
    2021-09-09
  • python fabric實現(xiàn)遠程部署

    python fabric實現(xiàn)遠程部署

    這篇文章主要為大家詳細介紹了 python fabric實現(xiàn)遠程部署,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • python完全卸載三種方法教程

    python完全卸載三種方法教程

    通常我們在卸載pyhton時會直接使用電腦自備的管家軟件中的卸載功能,但是通常這并不會卸載干凈,特別是當你卸載完python一個版本之后,重新安裝另一個版本就會出錯,這篇文章主要給大家介紹了關于python完全卸載三種方法的相關資料,需要的朋友可以參考下
    2023-09-09
  • python實現(xiàn)將json多行數(shù)據(jù)傳入到mysql中使用

    python實現(xiàn)將json多行數(shù)據(jù)傳入到mysql中使用

    這篇文章主要介紹了python實現(xiàn)將json多行數(shù)據(jù)傳入到mysql中使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • python二分法實現(xiàn)實例

    python二分法實現(xiàn)實例

    這篇文章主要介紹了python二分法的實現(xiàn)代碼,大家可以參考使用
    2013-11-11
  • Python OpenCV對圖像進行模糊處理詳解流程

    Python OpenCV對圖像進行模糊處理詳解流程

    OpenCV是一個基于BSD許可(開源)發(fā)行的跨平臺計算機視覺庫,可以運行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。它輕量級而且高效——由一系列 C 函數(shù)和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現(xiàn)了圖像處理和計算機視覺方面很多通用算法
    2021-10-10
  • python中28種極坐標繪圖函數(shù)總結

    python中28種極坐標繪圖函數(shù)總結

    這篇文章主要為大家詳細介紹了python中28種極坐標繪圖函數(shù)的用法,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-09-09
  • python一鍵升級所有pip package的方法

    python一鍵升級所有pip package的方法

    下面小編就為大家?guī)硪黄猵ython一鍵升級所有pip package的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Python selenium+cookie實現(xiàn)免密登陸的示例代碼

    Python selenium+cookie實現(xiàn)免密登陸的示例代碼

    本文主要介紹了Python selenium+cookie實現(xiàn)免密登陸的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評論