您好,登錄后才能下訂單哦!
這篇文章主要講解了“Python3中怎么向zip()函數傳遞參數”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python3中怎么向zip()函數傳遞參數”吧!
首先,我們來介紹一些基礎知識點:
Python中的某些數據類型是不可變的(例如字符串、整數),而有些數據類型是可變的(如列表和字典)。不可變的數據對象在創建后不能更改,可變對象可以更改。
可迭代對象是一個單獨返回其每個成員元素的對象。比如列表、元組、字符串和字典都是可迭代的對象。我們可以使用iter()或for循環來迭代可迭代對象。
當一個對象返回迭代器時,我們必須使用它來檢索一個我們可以看到或使用的對象。
我們可以在函數zip()中傳遞任意數量的可迭代項:
樣例如下:
>>> zipped = zip() >>> list(zipped) []
上述代碼中,我們向函數zip()傳遞了零個元素,此時該函數返回空。
傳遞一個參數會創建一個元組集合,每個元組中都有一個元素。
示例代碼如下:
# create a list of student names >>> student_names = ['Lindsay', 'Harry', 'Peter'] # zip the list >>> zipped = zip(student_names) # consume with list() >>> list(zipped) [('Lindsay',), ('Harry',), ('Peter',)]
在上述代碼中,我們創建了一個列表,其中有三個字符串表示三個學生的姓名。
傳遞兩個參數將創建一個具有成對的元組集合,其中第一個元素來自第一個參數,第二個元素來自第二個參數。
示例代碼如下:
# create a list of student ids >>> student_ids = ['123', '4450', '5600'] # create a list of student names again, so that we do not forget the earlier steps! >>> student_names = ['Lindsay', 'Harry', 'Peter'] # zip the lists >>> zipped = zip(student_names, student_ids) >>> list(zipped) [('Lindsay', '123'), ('Harry', '4450'), ('Peter', '5600')]
在上述代碼中,我們創建了另一個包含三個字符串的列表。此時,每個元素用于表示每個學生student_names的對應student_ids。
此時,我們可以使用for循環來遍歷訪問,樣例代碼如下:
>>> student_names = ['Lindsay', 'Harry', 'Peter'] >>> student_ids = ['123', '4450', '5600'] >>> for student_name, student_id in zip(student_names, student_ids): ... print(student_name, student_id) ... Lindsay 123 Harry 4450 Peter 5600
到目前為止,我們只研究了每個可迭代項長度相同的示例:包含學生姓名和id的列表長度都是3,但我們也可以傳遞不同長度的可迭代項。此時,zip函數將返回一個元組集合,其中元組的數量等于長度最小的可迭代項。它將忽略長度較長的可迭代項中的其余元素,如下所示:
# student_ids is a list with 4 elements >>> student_ids = ['123', '4450', '5600', '1'] # student_namdes is a list with 3 elements >>> student_names = ['Lindsay', 'Harry', 'Peter'] # zip is completely ignoring the last element of student_ids >>> list(zip(student_names, student_ids)) [('Lindsay', '123'), ('Harry', '4450'), ('Peter', '5600')] >>> for student_name, student_id in zip(student_names, student_ids): ... print(student_name, student_id) ... Lindsay 123 Harry 4450 Peter 5600
從上面的示例中可以看到,函數zip對student_ids中的最后一個元素1沒有做任何操作。因此,在傳遞給zip()之前,檢查可迭代項的長度非常重要。
感謝各位的閱讀,以上就是“Python3中怎么向zip()函數傳遞參數”的內容了,經過本文的學習后,相信大家對Python3中怎么向zip()函數傳遞參數這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。