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

python列表生成器常用迭代器示例詳解

 更新時間:2022年06月27日 10:29:58   作者:測試開發(fā)技術(shù)修煉  
這篇文章主要為大家介紹了python列表生成器常用迭代器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

列表生成式基礎語法

[exp for iter_var in iterable (if conditional)]

原理:

  • 首先迭代 iterable 里所有內(nèi)容,每一次迭代,都把iterable里相應的內(nèi)容放在iter_var中,再把表達式exp應用該iter_var的內(nèi)容,根據(jù)條件進行篩選
  • 最后用 表達式的計算值 生成一個新的列表

優(yōu)先于for和if循環(huán):

  • 1、比for循環(huán)快得多
  • 2、被認為比循環(huán)和映射函數(shù)更具有python特性
  • 3、列表生成式的語法更容易閱讀

1. 使用列表生成式,一行解決for循環(huán)

# 實現(xiàn)[1,2,3,4,5]的列表
alist1 = list(range(1,6))
print(alist1)
# 實現(xiàn)[1,4,9,16,25,36,49]的列表
alist2 = []
for i in range(1,8):
    alist2.append(i*i)
print(alist2)
# 用一行實現(xiàn)
alist = [i*i for i in range(1,8)]
print(alist)
#結(jié)果:
[1, 2, 3, 4, 5]
[1, 4, 9, 16, 25, 36, 49]
[1, 4, 9, 16, 25, 36, 49]

2. 雙層循環(huán)

list2 = [x+y for x in range(1,5) for y in range(1,6)]
#結(jié)果:
[2, 3, 4, 5, 6, 3, 4, 5, 6, 7, 4, 5, 6, 7, 8, 5, 6, 7, 8, 9]

3. 加判斷語句,條件過濾

list3 = [x for x in range(1,10) if x>5]
print(list3)
#結(jié)果:
[6, 7, 8, 9]

4. 加入函數(shù)

L = ['Heli','JACK','ab']
l1 = [i.lower() for i in L]
print(l1)
#結(jié)果:
['heli', 'jack', 'ab']

5. 常見幾種迭代器:range、 zip 、 enumerate 、 filter 、 reduce

zip生成列表,生成字典

zip()函數(shù)接受一系列可迭代對象作為參數(shù),將不同對象中相對應的元素打包成一個元組(tuple),返回由這些元組組成的list列表

l1 = [1,3,6]
l2 = [5,8,9]
for (x,y) in zip(l1,l2):
    print(x,y,x+y)
#結(jié)果:
1 5 6
3 8 11
6 9 15
keys = ['a','c','f']
vals = [1,7,3]
D2 = {}
for (k,v) in zip(keys,vals): D2[k]=v
print(D2)
#結(jié)果:{'a': 1, 'c': 7, 'f': 3}

enumerate() 函數(shù)用于將一個可遍歷的數(shù)據(jù)對象(如列表、元組或字符串)組合為一個索引序列,同時列出數(shù)據(jù)和數(shù)據(jù)下標,一般用在for循環(huán)中

enumerate(seq, [start=0]) ,返回枚舉對象

seasons = ['spring', 'summer', 'winter']
a = list(enumerate(seasons))
for i,element in enumerate(seasons):
  print(i,element)
#結(jié)果:
0 spring
1 summer
2 winter

關(guān)于filter 、 reduce,具體可查看上一篇文章

python高階函數(shù)使用教程示例

以上就是python列表生成器常用迭代器示例詳解的詳細內(nèi)容,更多關(guān)于python列表生成器迭代器的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python PyQt5標準對話框用法示例

    Python PyQt5標準對話框用法示例

    這篇文章主要介紹了Python PyQt5標準對話框用法,結(jié)合實例形式分析了PyQt5常用的標準對話框及相關(guān)使用技巧,需要的朋友可以參考下
    2017-08-08
  • Python可視化工具如何實現(xiàn)動態(tài)圖表

    Python可視化工具如何實現(xiàn)動態(tài)圖表

    這篇文章主要介紹了Python可視化工具如何實現(xiàn)動態(tài)圖表,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Python多進程fork()函數(shù)詳解

    Python多進程fork()函數(shù)詳解

    今天小編就為大家分享一篇關(guān)于Python多進程fork()函數(shù)詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • 對Python w和w+權(quán)限的區(qū)別詳解

    對Python w和w+權(quán)限的區(qū)別詳解

    今天小編就為大家分享一篇對Python w和w+權(quán)限的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 使用OpenCV實現(xiàn)仿射變換—平移功能

    使用OpenCV實現(xiàn)仿射變換—平移功能

    這篇文章主要介紹了使用OpenCV實現(xiàn)仿射變換—平移功能,需要的朋友可以參考下
    2019-08-08
  • python關(guān)于變量名的基礎知識點

    python關(guān)于變量名的基礎知識點

    在本篇文章里小編給大家整理的是關(guān)于python關(guān)于變量名的基礎知識點,需要的朋友們可以參考下。
    2020-03-03
  • Python實現(xiàn)Appium端口檢測與釋放的實現(xiàn)

    Python實現(xiàn)Appium端口檢測與釋放的實現(xiàn)

    這篇文章主要介紹了Python實現(xiàn)Appium端口檢測與釋放的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Python GUI編程之tkinter 關(guān)于 ttkbootstrap 的使用詳解

    Python GUI編程之tkinter 關(guān)于 ttkbootstrap 的使用

    ttkbootstrap 是一個基于 tkinter 的界面美化庫,使用這個工具可以開發(fā)出類似前端 bootstrap 風格的 tkinter 桌面程序,這篇文章主要介紹了Python GUI編程之tkinter 關(guān)于 ttkbootstrap 的使用詳解,需要的朋友可以參考下
    2022-03-03
  • 使用Python3內(nèi)置文檔高效學習以及官方中文文檔

    使用Python3內(nèi)置文檔高效學習以及官方中文文檔

    這篇文章主要給大家介紹了關(guān)于使用Python3內(nèi)置文檔高效學習以及官方中文文檔的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python3具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • python多線程對多核cpu的利用解析

    python多線程對多核cpu的利用解析

    這篇文章主要為大家介紹了python多線程對多核cpu的利用解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07

最新評論