日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python: zip()的使用

發(fā)布時(shí)間:2025/3/15 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python: zip()的使用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

以前使用zip?,只用過(guò)最簡(jiǎn)單的,合并兩個(gè)列表,沒(méi)有仔細(xì)深究過(guò),后來(lái)在實(shí)驗(yàn)樓?做實(shí)驗(yàn)的時(shí)候,遇到了這樣的一行代碼:

[list(row) for row in zip(*field)]#field 是一個(gè)矩陣
  • 1

有點(diǎn)蒙了, 就查了查了,這倆博客的介紹挺仔細(xì)的?
Python零碎知識(shí)(2):強(qiáng)大的zip?,?
Python的zip函數(shù)?
記錄一下吧

zip()的基本使用方法


首先看help(zip):

Help on built-in function zip in module __builtin__:zip(...)zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]Return a list of tuples, where each tuple contains the i-th elementfrom each of the argument sequences. The returned list is truncatedin length to the length of the shortest argument sequence. None
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

大意就是:

定義:zip([seql, …])接受一系列可迭代對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)tuple(元組),然后返回由這些tuples組成的list(列表)。若傳入?yún)?shù)的長(zhǎng)度不等,則返回list的長(zhǎng)度和參數(shù)中長(zhǎng)度最短的對(duì)象相同。

通俗點(diǎn)就是把幾個(gè)列表(0或者1或者多個(gè))的對(duì)應(yīng)位置的元素組成新的tuple, 這些新的tuple?構(gòu)成一個(gè)list.?
直接用幾個(gè)例子來(lái)說(shuō)明:

示例

x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9]xyz = zip(x, y, z)print xyz'''結(jié)果是:''' [(1, 4, 7), (2, 5, 8), (3, 6, 9)] #對(duì)應(yīng)元素組成一個(gè)新的元組,元組構(gòu)成列表 #---------------------------------------##無(wú)參數(shù)時(shí), x = zip() print x#結(jié)果是: []#---------------------------------------##長(zhǎng)度不等時(shí),取長(zhǎng)度的最小的x = [1, 2, 3] y = ['a', 'b', 'c', 'd'] xy = zip(x, y) print xy#結(jié)果是: [(1, 'a'), (2, 'b'), (3, 'c')]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

常用的方法


#--------------------------------------##可變參數(shù)傳遞的使用(很常用一種用法),這個(gè)可以用矩陣的轉(zhuǎn)置o~如下:實(shí)驗(yàn) #樓的那代碼就是轉(zhuǎn)置矩陣x = [[1,2,3],[4,5,6],[7,8,9]] y = zip(*x) print y#結(jié)果是: [(1, 4, 7), (2, 5, 8), (3, 6, 9)]#轉(zhuǎn)置就是: map(list, y) #這種也經(jīng)常這樣使用: 壓縮與解壓縮x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9]xyz = zip(x, y, z) res = zip(*xyz) print res#結(jié)果可想而知, 壓縮之后 在解壓縮: [(1, 2, 3), (4, 5, 6), (7, 8, 9)]''''''#還有就是字典的構(gòu)造也經(jīng)常使用:x = ['a', 'b', 'c'] y = ['x', 'y', 'z'] z = zip(x, y) d = dict(z) print d#結(jié)果為: {'a': 'x', 'c': 'z', 'b': 'y'}'''''' #------------------------------# #與iter合用:a = [1, 2, 3, 4, 5, 6] b = zip(*([iter(a)] * 2)) print b#結(jié)果是: [(1, 2), (3, 4), (5, 6)] http://blog.csdn.net/shomy_liu/article/details/46968651

總結(jié)

以上是生活随笔為你收集整理的Python: zip()的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。