日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python3中zip()函數知識點小結_python

作者:趙卓不凡 ? 更新時間: 2023-07-02 編程語言

1.引言

在本文中,我將帶領大家深入了解Python中的zip()函數,使用它可以提升大家的工作效率。
閑話少說,我們直接開始吧!

2. 基礎知識

首先,我們來介紹一些基礎知識點:

Python中的某些數據類型是不可變的(例如字符串、整數),而有些數據類型是可變的(如列表和字典)。不可變的數據對象在創建后不能更改,可變對象可以更改。
可迭代對象是一個單獨返回其每個成員元素的對象。比如列表、元組、字符串和字典都是可迭代的對象。我們可以使用iter()或for循環來迭代可迭代對象。
當一個對象返回迭代器時,我們必須使用它來檢索一個我們可以看到或使用的對象。

3. 向zip函數傳遞參數

我們可以在函數zip()中傳遞任意數量的可迭代項:

3.1 傳遞零個參數

樣例如下:

>>> zipped = zip()
>>> list(zipped)
[]

上述代碼中,我們向函數zip()傳遞了零個元素,此時該函數返回空。

3.2 傳遞一個參數

傳遞一個參數會創建一個元組集合,每個元組中都有一個元素。

示例代碼如下:

# 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',)]

在上述代碼中,我們創建了一個列表,其中有三個字符串表示三個學生的姓名。

3.3 傳遞兩個參數

傳遞兩個參數將創建一個具有成對的元組集合,其中第一個元素來自第一個參數,第二個元素來自第二個參數。

示例代碼如下:

# 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

3.4 傳遞長度不等的參數

到目前為止,我們只研究了每個可迭代項長度相同的示例:包含學生姓名和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()之前,檢查可迭代項的長度非常重要。

4. 總結

本文重點介紹了Python中關于zip函數的基礎知識點總結,并給出了相應的代碼示例。

原文鏈接:https://blog.csdn.net/sgzqc/article/details/129229033

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新