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

Python如何有效地使用迭代

 更新時間:2023年09月04日 09:35:56   作者:python收藏家  
這篇文章主要為大家詳細介紹了Python如何有效地使用迭代,文中的示例代碼講解詳細,對我們深入了解Python有一定的幫助,需要的小伙伴可以學習一下

1. C型方法

C型方法:這種方法需要迭代總數(shù)的先驗知識。

# A C-style way of accessing list elements
cars = ["Aston", "Audi", "McLaren"]
i = 0
while (i < len(cars)):
    print(cars[i])
    i += 1

輸出

Aston
Audi
McLaren

注意事項:

Python程序員很少使用這種類型的循環(huán)。

這個4步方法沒有創(chuàng)建單一視圖循環(huán)結(jié)構的緊湊性。

這在大規(guī)模的程序或設計中也容易出錯。

Python中沒有C風格的for循環(huán),即(int i=0; i<n; i++)

2. for … in 方法

for-in(或for each)樣式的方法:這種風格在Python中使用,包含列表迭代器,字典,n維數(shù)組等。迭代器獲取每個組件并在循環(huán)時打印數(shù)據(jù)。迭代器在這個構造中自動遞增/遞減。

# Accessing items using for-in loop
cars = ["Aston", "Audi", "McLaren"]
for x in cars:
    print(x)

輸出

Aston
Audi 
McLaren 

3. range函數(shù)

使用range函數(shù)進行索引:我們也可以在Python中使用range()來進行索引。

# Accessing items using indexes and for-in
cars = ["Aston", "Audi", "McLaren"]
for i in range(len(cars)):
    print(cars[i])

輸出

Aston
Audi 
McLaren 

4. enumerate

enumerate是一個內(nèi)置的Python函數(shù),它將輸入作為迭代器、列表等,并返回一個包含索引和迭代器序列中該索引處的數(shù)據(jù)的元組。例如,enumerate(cars)返回一個迭代器,該迭代器將返回(0,cars[0])、(1,cars[1])、(2,cars[2]),依此類推。

# Accessing items using enumerate()
cars = ["Aston", "Audi", "McLaren "]
for i, x in enumerate(cars):
    print(x)

輸出

Aston
Audi
McLaren 

下面的解決方案也可以。

# Accessing items and indexes enumerate()
cars = ["Aston" , "Audi", "McLaren "]
for x in enumerate(cars):
    print (x[0], x[1])

輸出

(0, 'Aston')
(1, 'Audi')
(2, 'McLaren ')

我們也可以直接打印enumerate()的返回值,看看它返回了什么。

# Printing return value of enumerate()
cars = ["Aston" , "Audi", "McLaren "]
print (enumerate(cars))

輸出

<enumerate object at 0x7fe4f914d3c0>

enumerate采用參數(shù)start,默認設置為零。我們可以將此參數(shù)更改為任何我們喜歡的值。在下面的代碼中,我們使用start 為1。

# demonstrating the use of start in enumerate
cars = ["Aston" , "Audi", "McLaren "]
for x in enumerate(cars, start=1):
    print (x[0], x[1])

輸出

(1, 'Aston')
(2, 'Audi')
(3, 'McLaren ')

enumerate()有助于嵌入用于訪問迭代器中的每個數(shù)據(jù)項的解決方案,并獲取每個數(shù)據(jù)項的索引。

循環(huán)擴展:

i)單個循環(huán)構造的兩個迭代器:在這種情況下,列表和字典將用于使用enumerate函數(shù)的單個循環(huán)塊中的每次迭代。讓我們看一個例子。

# Two separate lists
cars = ["Aston", "Audi", "McLaren"]
accessories = ["GPS kit", "Car repair-tool kit"]
# Single dictionary holds prices of cars and
# its accessories.
# First three items store prices of cars and
# next two items store prices of accessories.
prices = {1: "570000$", 2: "68000$", 3: "450000$",
          4: "8900$", 5: "4500$"}
# Printing prices of cars
for index, c in enumerate(cars, start=1):
    print("Car: %s Price: %s" % (c, prices[index]))
# Printing prices of accessories
for index, a in enumerate(accessories, start=1):
    print("Accessory: %s Price: %s"
          % (a, prices[index+len(cars)]))

輸出

Car: Aston Price: 570000$
Car: Audi Price: 68000$
Car: McLaren Price: 450000$
Accessory: GPS kit Price: 8900$
Accessory: Car repair-tool kit Price: 4500$

ii)zip函數(shù)(兩個迭代器都用于單個循環(huán)構造):此函數(shù)有助于在第i個位置類似類型的迭代器(列表-列表或dict- dict等)數(shù)據(jù)項。它使用這些輸入迭代器的最短長度。其他更長的迭代器項將被跳過。如果迭代器為空,則返回No output。

例如,對兩個列表(迭代器)使用zip。

# Python program to demonstrate the working of zip
# Two separate lists
cars = ["Aston", "Audi", "McLaren"]
accessories = ["GPS", "Car Repair Kit",
               "Dolby sound kit"]
# Combining lists and printing
for c, a in zip(cars, accessories):
    print("Car: %s, Accessory required: %s" % (c, a))

輸出

Car: Aston, Accessory required: GPS
Car: Audi, Accessory required: Car Repair Kit
Car: McLaren, Accessory required: Dolby sound kit

zip函數(shù)中的這些迭代器的反向操作稱為使用“*”運算符解包。enumerate函數(shù)和zip函數(shù)的使用有助于實現(xiàn)python中迭代邏輯的有效擴展,解決了一個巨大任務或問題的更多子問題。

# Python program to demonstrate unzip (reverse
# of zip)using * with zip function
# Unzip lists
l1,l2 = zip(*[('Aston', 'GPS'),
              ('Audi', 'Car Repair'),
              ('McLaren', 'Dolby sound kit')
           ])
# Printing unzipped lists     
print(l1)
print(l2)

輸出

('Aston', 'Audi', 'McLaren')
('GPS', 'Car Repair', 'Dolby sound kit')

到此這篇關于Python如何有效地使用迭代的文章就介紹到這了,更多相關Python迭代內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 用Python將PDF文件轉(zhuǎn)存為圖片的實現(xiàn)方法

    用Python將PDF文件轉(zhuǎn)存為圖片的實現(xiàn)方法

    在Python中,將PDF文件轉(zhuǎn)換為圖片格式使用專門的庫來處理PDF文檔,并將其每一頁導出為常見的圖像格式,這可以通過PyMuPDF庫中的fitz模塊或pdf2image庫實現(xiàn),本文給大家介紹了用Python將PDF文件轉(zhuǎn)存為圖片的方法,需要的朋友可以參考下
    2024-04-04
  • 模型訓練時GPU利用率太低的原因及解決

    模型訓練時GPU利用率太低的原因及解決

    這篇文章主要介紹了模型訓練時GPU利用率太低的原因及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python第三方庫undetected_chromedriver的使用

    Python第三方庫undetected_chromedriver的使用

    這篇文章主要給大家介紹了關于Python第三方庫undetected_chromedriver的使用方法,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2023-01-01
  • Python中處理字符串之islower()方法的使用簡介

    Python中處理字符串之islower()方法的使用簡介

    這篇文章主要介紹了Python中處理字符串之islower()方法的使用,是Python入門的基礎知識,需要的朋友可以參考下
    2015-05-05
  • 一行代碼挖掘文化瑰寶,Python解鎖古詩文世界

    一行代碼挖掘文化瑰寶,Python解鎖古詩文世界

    想要從文字海洋中捕獲珍珠般的古詩文嗎?通過Python爬取古詩文網(wǎng),你將掌握直搗黃龍的技能,簡單幾步,讓經(jīng)典文學盡收囊中,為你的項目增添靈氣,需要的朋友可以參考下
    2024-03-03
  • python 基于Appium控制多設備并行執(zhí)行

    python 基于Appium控制多設備并行執(zhí)行

    這篇文章主要介紹了python 如何基于Appium控制多設備并行執(zhí)行,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-03-03
  • python函數(shù)默認參數(shù)使用避坑指南

    python函數(shù)默認參數(shù)使用避坑指南

    這篇文章主要為大家介紹了python函數(shù)默認參數(shù)使用的踩雷避坑詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Python?json模塊常用方法小結(jié)

    Python?json模塊常用方法小結(jié)

    本文主要介紹了Python?json模塊常用方法小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • python基于ID3思想的決策樹

    python基于ID3思想的決策樹

    這篇文章主要為大家詳細介紹了python基于ID3思想的決策樹,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • python熱力圖實現(xiàn)簡單方法

    python熱力圖實現(xiàn)簡單方法

    在本篇內(nèi)容里小編給大家分享的是一篇關于python熱力圖實現(xiàn)簡單方法,對此有興趣的朋友們可以學習下。
    2021-01-01

最新評論

靖远县| 呼伦贝尔市| 巴里| 新蔡县| 怀宁县| 正蓝旗| 水城县| 兴仁县| 富顺县| 苏州市| 桂林市| 延安市| 巢湖市| 桑植县| 灵武市| 余干县| 安仁县| 盈江县| 东辽县| 淮滨县| 台江县| 浪卡子县| 金坛市| 遂平县| 汉寿县| 云阳县| 弥渡县| 云龙县| 麻江县| 儋州市| 呈贡县| 桂平市| 资兴市| 利津县| 松原市| 沙河市| 巩留县| 噶尔县| 清远市| 桐乡市| 安达市|