国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python PEP 筆記】201 - 同步迭代 / zip() 函數(shù)的使用方法

這篇具有很好參考價值的文章主要介紹了【Python PEP 筆記】201 - 同步迭代 / zip() 函數(shù)的使用方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

原文地址:https://peps.python.org/pep-0201/
PDF 地址:

什么是同步迭代

同步迭代就是用 for 一次循環(huán)多個序列。
類似于這樣的東西:

arr1 = [1, 2, 3, 4]
arr2 = ['a', 'b', 'c', 'd']
for a, b in arr1, arr2:
	print(a, b)

使用 map 實現(xiàn)

for a, b in map(lambda x, y: (x, y), arr1, arr2):
    print(a, b)

原文為 Python 2,實現(xiàn)如下:

for a, b in map(None, arr1, arr2):
   print(a, b)

Python 3 map 函數(shù)的第一個參數(shù)不能為 None 了。

使用新函數(shù) zip 實現(xiàn)

使用 map 不方便,最明顯的一點就是每次都要自己寫一個 lambda 才行。

為了更方便地實現(xiàn)同步迭代,PEP 201 提出了一個新函數(shù) zip 來實現(xiàn)這個功能。

for a, b in zip(arr1, arr2):
    print(a, b)

zip 函數(shù)的其他用途

轉(zhuǎn)置表格

例如

data = [
    ['id', 'name', 'income'],
    ['1', 'John', 200],
    ['2', 'Jane', 300],
    ['3', 'Joe', 100],
    ['4', 'Jill', 400],
    ['5', 'Jim', 230],
]

print(list(zip(*data)))

*data 相當于 zip(data[0], data[1], ..., data[n-1])
zip() 函數(shù)在 Python 2 中返回的是 list;在 Python 3 中返回的是迭代器,如果要輸出展示,要先轉(zhuǎn)換為 list。

得到結(jié)果

[('id', '1', '2', '3', '4', '5'), ('name', 'John', 'Jane', 'Joe', 'Jill', 'Jim'), ('income', 200, 300, 100, 400, 230)]

很輕松就把行轉(zhuǎn)成了列。

還可以利用 zip() 計算平均收入:

income_list = list(zip(*data[1:]))[2]
print('average income: ', sum(income_list) / len(income_list))

data[1:] 這里切片是為了去除表格第一行的標題。然后 [2] 是因為收入是表格的第三列。文章來源地址http://www.zghlxwxcb.cn/news/detail-674363.html

到了這里,關(guān)于【Python PEP 筆記】201 - 同步迭代 / zip() 函數(shù)的使用方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • python 的zip函數(shù)

    在Python中, zip() 是一個內(nèi)置函數(shù),用于將多個可迭代對象(例如列表、元組等)打包成一個元組的迭代器。它接受多個參數(shù),每個參數(shù)代表一個可迭代對象,并返回一個迭代器,每次迭代返回一個包含來自每個可迭代對象的元素組成的元組。 下面是 zip() 函數(shù)的基本語法:

    2024年02月10日
    瀏覽(16)
  • Python的zip函數(shù)和enumerate函數(shù)

    有一位程序員小張,他正在為公司的一個項目編寫代碼。這個項目需要處理兩個列表,一個是存儲了學生姓名的列表,另一個是存儲了學生成績的列表。 小張需要把這兩個列表對應的元素組合起來,最終得到一個包含了姓名和成績的列表。小張在查閱了Python的文檔之后,決定

    2024年02月08日
    瀏覽(32)
  • Python 基礎(chǔ) - 迭代器 / 迭代器對象 / 可迭代對象 / range函數(shù)

    目錄 1. 迭代器 2.迭代器對象 3. 可迭代對象 4. range函數(shù) 1. 迭代器 當類中定義了__iter__和 __next__兩個方法 __iter__: 返回對象本身,即self __next__: 返回下一個數(shù)據(jù),如果沒有數(shù)據(jù),則拋出StopIteration異常 2.迭代器對象 通過迭代器類實例化創(chuàng)建的迭代器對象 可以通過 obj.__next__() 或

    2023年04月27日
    瀏覽(19)
  • 一文詳解列表,元組,字典,集合,生成器,迭代器,可迭代對象,zip,enumerate

    ??列表,元組,字典,集合,生成器都是 python 中的可迭代對象,使用的時候經(jīng)常忘記,通過這篇博文總結(jié)一下。 ??列表( list )是 Python 中的一種數(shù)據(jù)結(jié)構(gòu),它可以存儲不同類型的數(shù)據(jù)。不同元素以逗號分隔。 使用方括號[]表示開始和結(jié)束。 不同元素以逗號分隔。 每個

    2024年02月07日
    瀏覽(118)
  • python中函數(shù),裝飾器,迭代器,生成器

    1.函數(shù)可以作為參數(shù)進行傳遞 2.函數(shù)可以作為返回值進行返回 3.函數(shù)名稱可以當成變量一樣進行賦值操作 作用:在不改變原有函數(shù)調(diào)用的情況下,給函數(shù)增加新的功能 ? ? ? ? ?即可以在函數(shù)前面增加新的功能,但不改變原來的代碼 可迭代的數(shù)據(jù)類型都會提供迭代器,即可以

    2024年02月07日
    瀏覽(20)
  • Python——迭代器(可迭代、可迭代對象、迭代器、遍歷本質(zhì)、iter函數(shù)、next函數(shù)、__iter__方法、__next__方法、自定義可迭代對象與自定義迭代器、for循環(huán)本質(zhì))

    迭代(iter) 我們經(jīng)常聽說過\\\"版本迭代\\\"這個詞,意思是在原來版本的基礎(chǔ)上,再提升一個版本的過程。那么我們僅僅看看\\\"迭代\\\"這個詞,會發(fā)現(xiàn)迭代就是一個根據(jù)原來的狀態(tài)決定本次狀態(tài)的過程 迭代應用于Python中,迭代具體是指根據(jù)原來的數(shù)據(jù)輸出(并不一定是要打印,也可

    2024年02月04日
    瀏覽(23)
  • 【python學習】基礎(chǔ)篇-編碼與解碼 decode()方法 將對象元素打包成元組zip()函數(shù)

    在 Python 中使用字符串對象的encode()方法來實現(xiàn)編碼。 encode0 方法是字符串對象內(nèi)置的一個實現(xiàn)方法用于實現(xiàn)編碼操作。語法格式如下: str.encode([encoding[,errors]]) 解碼字符串則需要使用 bytes 對象的 decode0 方法來實現(xiàn)。 bytes.decode([encoding[,errors]]) 參數(shù)encoding 表示要進行編碼的字符

    2023年04月19日
    瀏覽(29)
  • 【python基礎(chǔ)語法六】迭代器,生成器,推導式和高階函數(shù)

    內(nèi)置函數(shù): dir 獲取當前對象的內(nèi)置成員 高階函數(shù) : 能夠把函數(shù)當成參數(shù)傳遞的就是高階函數(shù) (map ,filter ,reduce , sorted) 案例: 1. enumerate 2. zip 元組推導式是生成器( generator ) (1) 基本語法 (2) 優(yōu)化生成器代碼 (3) send 的使用方式 (給上一個 yield 發(fā)送數(shù)據(jù)) (4) yield from 的使用 (5) 案例

    2024年02月02日
    瀏覽(63)
  • Python如何按PEP8風格自動排版代碼

    Python如何按PEP8風格自動排版代碼

    Autopep8是一個將Python代碼自動排版為PEP8風格的小工具。它使用pep8工具來決定代碼中的哪部分需要被排版。Autopep8可以修復大部分pep8工具中報告的排版問題。 安裝步驟如下: 示例代碼: 運行命令前代碼的排版 (保存在test_autopep8.py) 運行命令 運行命令后代碼的排版

    2024年02月19日
    瀏覽(13)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包