欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python中zip()函數用法實例教程

系統 1617 0

本文實例講述了Python中zip()函數的定義及用法,相信對于Python初學者有一定的借鑒價值。詳情如下:

一、定義:

zip([iterable, ...])
zip()是Python的一個內建函數,它接受一系列可迭代的對象作為參數,將對象中對應的元素打包成一個個tuple(元組),然后返回由這些tuples組成的list(列表)。若傳入參數的長度不等,則返回list的長度和參數中長度最短的對象相同。利用*號操作符,可以將list unzip(解壓)。

二、用法示例:

讀者看看下面的例子,對zip()函數的基本用法就可以明白了:

            
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)
[(1, 2, 3), (4, 5, 6)]

          

對于這個并不是很常用函數,下面舉幾個例子說明它的用法:

1.二維矩陣變換(矩陣的行列互換)

比如我們有一個由列表描述的二維矩陣

            
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

          

通過python列表推導的方法,我們也能輕易完成這個任務

            
print [ [row[col] for row in a] for col in range(len(a[0]))]
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

          

另外一種讓人困惑的方法就是利用zip函數:

            
>>> a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> zip(*a)
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
>>> map(list,zip(*a))
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

          

這種方法速度更快但也更難以理解,將list看成tuple解壓,恰好得到我們“行列互換”的效果,再通過對每個元素應用list()函數,將tuple轉換為list

2.以指定概率獲取元素

            
>>> import random
>>> def random_pick(seq,probabilities):
 x = random.uniform(0, 1)
 cumulative_probability = 0.0
 for item, item_probability in zip(seq, probabilities):
 cumulative_probability += item_probability
 if x < cumulative_probability: break
 return item

>>> for i in range(15):
 random_pick("abc",[0.1,0.3,0.6])
 
'c'
'b'
'c'
'c'
'a'
'b'
'c'
'c'
'c'
'a'
'b'
'b'
'c'
'a'
'c'


          

這個函數有個限制,指定概率的列表必須和元素一一對應,而且和為1,否則這個函數可能不能像預想的那樣工作。

這里需要稍微解釋下,先利用random.uniform()函數生成一個0-1之間的隨機數并復制給x,利用zip()函數將元素和他對應的概率打包成tuple,然后將每個元素的概率進行疊加,直到和大于x終止循環
這樣,”a”被選中的概率就是x取值位于0-0.1的概率,同理”b”為0.1-0.4,”c”為0.4-1.0,假設x是在0-1之間平均取值的,顯然我們的目的已經達到。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 大开眼界电影完整在线看 | 性高湖久久久久久久久aaaaa | 欧美无遮挡一区二区三区 | 电视剧全部免费观看 | 久久精品久久精品 | 久久精品国产视频 | 五月天激情视频 | 日本黄色免费片 | 欧美偷拍自拍视频 | 日韩一区精品视频 | 97av在线| 一区日韩| 欧美一级欧美三级在线观看 | 日韩六九视频 | 久久人 | 精品视频在线观看视频免费视频 | 亚洲国产香蕉视频欧美 | 看中国毛片 | 午夜 在线播放 | 天天草综合网 | 国产91在线视频 | 黄色福利| 激情五月色播五月 | 久草在线视频资源站 | 九九免费在线视频 | 一区二区三区视频在线观看 | 亚洲欧美在线视频免费 | 欧美一级毛片在线看视频 | 91www成人久久 | 奇米狠狠色 | 在线视频中文字幕乱人伦 | 欧美在线观看视频网站 | 欧美性生交zzzzzxxxxx | 亚洲蜜芽在线精品一区 | 一级片在线视频 | 精品国产日韩一区三区 | 青青久久久国产线免观 | 色在线视频网站 | 日本激情在线视频 | 色香蕉视频| 日韩欧美视频一区 |