国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

淺談Python中的zip()與*zip()函數詳解

2020-02-22 23:19:17
字體:
來源:轉載
供稿:網友

前言

1.實驗環境: Python 3.6;

2.示例代碼地址:下載示例;

3.本文中元素是指列表、元組、字典等集合類數據類型中的下一級項目(可能是單個元素或嵌套列表)。

zip(*iterables)函數詳解

zip()函數的定義

從參數中的多個迭代器取元素組合成一個新的迭代器;

返回:
返回一個zip對象,其內部元素為元組;可以轉化為列表或元組;

傳入參數:元組、列表、字典等迭代器。

zip()函數的用法

當zip()函數中只有一個參數時

zip(iterable)從iterable中依次取一個元組,組成一個元組。

示例:

## zip()函數單個參數list1 = [1, 2, 3, 4]tuple1 = zip(list1)# 打印zip函數的返回類型print("zip()函數的返回類型:/n", type(tuple1))# 將zip對象轉化為列表print("zip對象轉化為列表:/n", list(tuple1))

輸出:

zip()函數的返回類型:
<class 'zip'>
 zip對象轉化為列表:
[(1,), (2,), (3,), (4,)]

當zip()函數有兩個參數時 ◦zip(a,b)zip()函數分別從a和b依次各取出一個元素組成元組,再將依次組成的元組組合成一個新的迭代器--新的zip類型數據。

注意: ◦要求a與b的維數相同,當兩者具有相同的行數與列數時,正常組合對應位置元素即可;

當a與b的行數或列數不同時,取兩者結構中最小的行數和列數,依照最小的行數和列數將對應位置的元素進行組合;這時相當于調用itertools.zip_longest(*iterables)函數。

舉例:

m = [[1,2,3], [4,5,6], [7,8,9]] n = [[2,2,2], [3,3,3], [4,4,4]] p = [[2,2,2], [3,3,3,]

zip(m, n)將返回([1, 2, 3], [2, 2, 2]), ([4, 5, 6], [3, 3, 3]), ([7, 8, 9], [4, 4, 4])

m[0], n[0] m[1], n[1] m[2], n[2]
[1,2,3]
[2,2,2]
[4,5,6]
[3,3,3]
[7,8,9]
[4,4,4]

zip(m, p)將返回([1, 2, 3], [2, 2, 2]), ([4, 5, 6], [3, 3, 3])

m[0], n[0] m[1], n[1] m[2], n[2]
[1,2,3]
[2,2,2]
[4,5,6]
[3,3,3]
[7,8,9]

代碼示例:

## zip()函數有2個參數m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]n = [[2, 2, 2], [3, 3, 3], [4, 4, 4]]p = [[2, 2, 2], [3, 3, 3]]# 行與列相同print("行與列相同:/n", list(zip(m, n)))# 行與列不同print("行與列不同:/n", list(zip(m, p)))

輸出:

行與列相同:
 [([1, 2, 3], [2, 2, 2]), ([4, 5, 6], [3, 3, 3]), ([7, 8, 9], [4, 4, 4])]

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 交城县| 安新县| 哈密市| 广南县| 沙湾县| 乌拉特前旗| 张家口市| 南宁市| 荣成市| 翁牛特旗| 锡林郭勒盟| 惠水县| 五河县| 嘉兴市| 海口市| 绿春县| 略阳县| 衡阳市| 涟源市| 巴彦县| 娄烦县| 霞浦县| 香港| 赫章县| 韶山市| 平塘县| 云林县| 平湖市| 乐清市| 上思县| 固原市| 定边县| 清远市| 黄冈市| 盈江县| 郎溪县| 梁山县| 阳泉市| 芦溪县| 乡城县| 清丰县|